rm * でファイルを大量削除する場合は注意!

※当サイトではアフィリエイト広告を利用しています

rmコマンドの * (アスタリスク) でファイルを大量削除する場合は気を付けてください。

1.ワイルドカードを使う際には注意

rm * でファイルを大量削除する場合、削除するファイル数が一定数を超えた場合、削除しきれないことがあります。

コマンドを実行する際に引数に渡せる総バイト数(ファイル名のバイト数)には限度があります。
アスタリスクなどのワイルドカードでファイル名を指定した場合、実体はすべてのファイルパスが列記されたのと同じ扱いになります。

そのため、ワイルドカードで指定すると、限度を超えて削除ができないということが発生するかもしれません。

もし、ファイルの大量削除をする場合は、以下のいずれかの対応をしましょう。

 

 

2.ファイル大量削除

削除案①

単純に*せずに、拡張子などを付けて、一括で消す数を減らす。

つまり *.xml とかにして、少しずつ消せということです。
ただしこの場合、xmlファイルが大量にあるとアウト。

 

削除案②

findコマンドで削除する。

削除したいファイルのパスに移動して、以下のコマンドを実行します。

$ find . -name \*~ -exec rm {} \;

 

コメント