大量ファイル削除時のArgument list too longエラーに対処する

頭を抱える椅子に座った男性

自動生成されるキャッシュファイルを一括削除しようとしたところ、下記エラーメッセージが表示され、削除できませんでした。

rm *

/bin/rm: Argument list too long

該当キャッシュファイルは5万ファイルほどあって、どうやらコマンド引数の文字数制限に引っかかってしまった模様でした。

※コマンド引数の文字数制限は、OS毎に異なっていて、CentOS 6.4では約2.5MBでした。(CentOS 5.10では約128KB)

対策としては、xargsを用いることです。
具体的には以下のコマンドです。

find . -type f -print | xargs rm

これで、削除したいファイルがすべて削除されました。
上記コマンド少し調整すれば、大量ファイルの移動(mv)なんかもいけるみたいです。

スポンサーリンク

ABOUT

IT系零細企業のWebプログラマーって肩書きの何でも屋。 最近は、もっぱらWeb系広告やWindows向けソフトウェア開発、サーバー運用・保守、更には営業事務的業務などがメインで、プログラムにはノータッチ状態。ゲームやアニメ・映画・海外ドラマの鑑賞、猫との戯れを癒やしとして、今日も通勤中。