GNU/Linux >> Linux の 問題 >  >> Linux

Linux –破損したディレクトリ、それらを削除する際の問題?

Linuxシステムにディレクトリがあります。ソフトウェアの誤動作が原因で、以下に示すようなジャンク名のディレクトリが作成されています。削除に問題があります。

$ ll
total 1532
drwxr-xr-x   2 sensage sensage   4096 Apr 19 16:56 -?$??
drwxrwxr-x 248 sensage sensage   4096 Apr 23 11:37 .
drwxrwxr-x  99 sensage sensage   4096 Apr 16 14:23 ..
drwxr-xr-x   2 sensage sensage   4096 Apr  6 14:54 }???;?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 03:01 }??=?|
-rw-r--r--   1 sensage sensage     88 Apr 22 13:37 $
drwxr-xr-x   2 sensage sensage   4096 Apr  2 12:43 ?
drwxr-xr-x   2 sensage sensage   4096 Mar 20 02:51 ?=??&?
drwxr-xr-x   2 sensage sensage   4096 Apr 11 08:40 ?;%??;
drwxr-xr-x   2 sensage sensage   4096 Apr 14 09:38 ?:????
drwxr-xr-x   2 sensage sensage   4096 Mar 22 17:21 ?(?>~?
drwxr-xr-x   2 sensage sensage   4096 Apr  1 13:45 ?[???%
drwxr-xr-x   2 sensage sensage   4096 Apr  3 14:03 [email protected]????
drwxr-xr-x   2 sensage sensage   4096 Apr 12 16:18 ??
drwxr-xr-x   2 sensage sensage   4096 Apr 17 16:38 ??&???
drwxr-xr-x   2 sensage sensage   4096 Mar 25 02:43 ??+???
drwxr-xr-x   2 sensage sensage   4096 Apr 19 00:46 Ü¡?,??
drwxr-xr-x   2 sensage sensage   4096 Mar 28 18:54 ÚŸ??"?
drwxr-xr-x   2 sensage sensage   4096 Mar 27 01:04 ???(?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 22:41 ??ͨ?`
drwxr-xr-x   2 sensage sensage   4096 Apr 15 11:44 ?????-

あなたが青でディレクトリ名を見ることができるように。それらを削除したい場合、以下のエラーが発生します:

$ ls -1  | grep -v 20 | xargs rm -rf 
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
rm: invalid option -- ¼
Try `rm ./'-¼$Þ¸Í'' to remove the file `-274$336270315'.
Try `rm --help' for more information.

それらをどうすればいいですか?

承認された回答:

ls 非ASCII文字(または、現在のロケールでサポートされていない文字)を?として出力します 。これが、lsの出力を解析する理由の1つです。 悪いことです。 lsからの出力 見られることを意味します 。このように、ファイルシステムに存在する実際の名前ではない場合もあります。

代わりに次のようなものを試してください(これらはすべてを削除します /path/to/dirを含むファイルとディレクトリ )

rm -rf /path/to/dir

または

find /path/to/dir -delete

または

find /path/to/dir -exec rm -rf {} +

または

find /path/to/dir -print0 | xargs -0 rm -rf

ニーズに合わせて変更します。ファイルのみを削除するには、-type fを追加します findのパスの後 たとえば。

rm -rf *だけを実行する そのディレクトリ内 (それは重要 、現在の作業ディレクトリは、ファイルとディレクトリを削除するディレクトリである必要があります)も十分な場合があります。

関連:Microsoft Accessで、フィールド全体を削除せずに、単一の列のすべての値を削除するにはどうすればよいですか。
Linux
  1. 非技術者がLinuxに移行するのに役立つ8つのヒント

  2. Linuxでのディレクトリの作成、削除、および管理

  3. Linuxでファイルとディレクトリをコピーする

  1. 使い始める5つのLinuxコマンド

  2. Linux – Unix / linux Osesの標準および/または共通ディレクトリ?

  3. Linux ファイルとディレクトリの削除

  1. Linuxでディレクトリの名前を変更する方法

  2. Linuxでいくつかのディレクトリに移動します

  3. Linux から .rbenv を削除する