フォルダから多数のファイルを削除する

フォルダから多数のファイルを削除する

137795個のファイルを含むフォルダがあります。すべて削除する必要があります。rm *私が走ったら-bash: /bin/rm: Argument list too long。このエラーをどのように克服できますか?

答え1

ご覧のとおり、ディレクトリを削除する必要はなく、内部のファイルのみを削除できます。再作成できるように

rm -r /path/to/dir && mkdir /path/to/dir

または、中のファイルを削除してもかまいません。

find /path/to/dir -type f -delete

Fair Firstはより速く動作します。

UPD。ディレクトリサイズfindfsck詳細

答え2

ソリューション#1:

find /path/to/dir -delete

解決策#2:

rm a*;

rm b*;

rm c*;

etc

答え3

使用するのはfindおそらく最良の選択でしょう。質問に対する他の答えのいくつかは、ディレクトリ内のすべてを削除しないか、ディレクトリ自体を削除します。特殊文字なしで使用することも、ls一部のオプションと組み合わせて使用​​することもできます。xargsfind

ls -1 | xargs rm -r

または

find . -depth -path ./.* -prune -o -not -name . -delete

これは、現在のディレクトリで.()で始まるすべてのエントリを無視し、最上位ディレクトリ()以外のすべてのファイルまたはディレクトリを削除します。 「ディレクトリが空ではありません」エラーを防ぐために、まずディレクトリの内部を見てください。システムでこのパラメータが利用できない場合に使用されます。-prune.-depth-not!

関連情報