8

このリポジトリで検索を行いましたが、同様の質問が見つからなかったか、検索が間違っていた可能性があります。

クライアント環境でこの問題が発生しました。カスタム アプリケーションが、環境変数 "$SRCDIR" と "$HOME" を含むディレクトリを作成しています。これらが作成されるディレクトリは、それ自体が HOME ディレクトリ パスです。私が言うとrm -rf $HOME、現在のディレクトリである $HOME の下のすべてのファイルとサブディレクトリが削除されます。これらの不要なディレクトリを削除するにはどうすればよいですか?

-rw-r--r--  1 grp domain users 418051450 Apr 18 18:09 $SRCDIR
-rw-r--r--  1 grp domain users 418051450 Apr 18 18:09 $HOME

また、以下の例のように一部のディレクトリはジャンク文字です。

-rwxr-xr-x  1 grp domain users  0 Feb  7  2106 ??????w?O???*????_6??t??Ó¡?>?tP??Ñ?|?C

どうすれば削除できますか?

4

7 に答える 7

20

ジャンク名については、それらだけをキャッチするワイルドカードを作成するのが最も簡単です。名前の読み取り可能な部分 (部分文字列など) を選択_6し、アスタリスクで囲みます。まず試してみてください:

ls *_6*

ジャンク名のみが表示されている場合は、削除に進みます。

rm *_6*

他の名前もリストされている場合は、名前に他の読み取り可能な文字を使用して、ワイルドカードをより具体的にするようにしてください。

ls *w*_6*tP*N*x*

不要なファイルのみに一致するワイルドカードが見つかるまで続行します。

于 2012-06-14T06:40:37.350 に答える
14

必要なファイル/フォルダーの inode 番号を決定します。

# ls -ila 
14549980 drwxr-xr-x  3 root root       4096 Mar  5 20:45 ">?<

そして、それを次のようにパイプラインしrmます:

find . -inum 14549980  -exec rm -ir {} \;
于 2016-03-18T05:11:03.613 に答える
12

--rw-rr-- のようなディレクトリを作成する場合。このファイルを削除するには、次の手順を実行します rm -rf ./--rw-r-r--

于 2012-12-27T15:48:26.167 に答える
4

Linuxでzshシェルを試す

[root@rhel5-8 ~]# zsh
[root@rhel5-8]~

次に、タブ補完を使用してそのディレクトリを削除します。

またはbashを使用している場合

[root@rhel5-8 ~]# cd "??????w?O???*????_6??t??Ó¡?>?tP??Ñ?|?C???????>?̤-???y?X???N?x??H?????Ч)?n?5‌​??{@?~]?" 

そのディレクトリに入る

于 2012-06-14T09:04:39.613 に答える
2

ドル記号をエスケープするだけです。このようにしてみてください-

rm -rf \$HOME

?シンボルでも同じです。

于 2012-06-14T06:11:41.127 に答える
0

シェル/エスケープの問題を回避するためにcプログラムを使用できます。この質問への答えを見てください。

于 2012-06-14T06:41:33.423 に答える