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。ディレクトリサイズfind
がfsck
。詳細。
答え2
ソリューション#1:
find /path/to/dir -delete
解決策#2:
rm a*;
rm b*;
rm c*;
etc
答え3
使用するのはfind
おそらく最良の選択でしょう。質問に対する他の答えのいくつかは、ディレクトリ内のすべてを削除しないか、ディレクトリ自体を削除します。特殊文字なしで使用することも、ls
一部のオプションと組み合わせて使用することもできます。xargs
find
ls -1 | xargs rm -r
または
find . -depth -path ./.* -prune -o -not -name . -delete
これは、現在のディレクトリで.
()で始まるすべてのエントリを無視し、最上位ディレクトリ()以外のすべてのファイルまたはディレクトリを削除します。 「ディレクトリが空ではありません」エラーを防ぐために、まずディレクトリの内部を見てください。システムでこのパラメータが利用できない場合に使用されます。-prune
.
-depth
-not
!