高速にファイルを削除する

ディレクトリに30万ファイルなんて出来ていて、全部削除したいとき。
普通、ひとつのディレクトリ直下にそんなファイル作らないでしょうけど……

$ find . -type f -print0 | xargs -0 -P0 rm -f

で削除しました。


-print0は一致したファイル名をヌル文字で区切るオプション。なので、xargs側で-0を指定していればファイル名に空白などを含んでいても正常に処理できます。
-0は区切りをヌル文字で扱うオプション。-print0を使ってるのでこれを指定しないとおかしくなります。
-P0はプロセス数をいくつにするかのオプションで、0を指定しているのでいい感じにプロセス数を設定してくれるみたい。


でもこっちでも良かったかも。

ls -1 | xargs -P0 -n1 rm -f