初心者SEが技術的な事とかを、とりあえずメモしておくための日記です。

初心者SEのとりあえずメモ日記

Linux

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

投稿日:2014年4月14日 更新日:

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

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

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

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

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

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

 

 

2.ファイル大量削除

削除案①

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

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

 

削除案②

findコマンドで削除する。

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

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

 

-Linux
-

Copyright© 初心者SEのとりあえずメモ日記 , 2018 All Rights Reserved Powered by STINGER.