私は何十億ものファイルがすべてJPEGファイル形式で含まれている30TBのディレクトリを持っています。次のように各フォルダのファイルを削除します。
sudo rm -rf bolands-mills-mhcptz
コマンドが実行され、動作しているかどうかに関係なく、何も表示されません。
ファイルを削除するのか、コマンドの現在の状態がどのようなものかを知りたいです。
ベストアンサー1
削除したファイルごとに1行ずつrm -v
印刷できますrm
。これにより、rm
ファイルの削除が実際に機能していることを確認できます。ただし、何十億ものファイルがある場合は、rm
そのファイルがまだ機能していることがわかります。どのくらいのファイルが削除されたか、どれだけ残っているのかわかりません。
このツールはpv
進行状況を予測するのに役立ちます。
http://www.ivarch.com/programs/pv.shtml
rm
サンプル出力を使用して呼び出す方法は次のとおりです。pv
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
pv
この人工的な例では、ファイルがあると言いました1000
。出力にはpv
562が削除され、経過時間は7秒、予想完了時間は5秒です。
いくつかの説明:
pv -l
pv
バイトではなく改行文字で計算pv -s number
pv
総額がいくらであるかを教えてください。logfile
最終リダイレクトはきちんとした出力のためです。それ以外の場合、ステータス行はpv
の出力と混同されますrm -v
。ボーナス:削除内容のログファイルが提供されます。ただし、ファイルが非常に大きくなる可能性があることに注意してください。/dev/null
ログが必要ない場合は、リダイレクトすることもできます。
ファイル数を取得するには、次のコマンドを使用できます。
$ find dirname | wc -l
何十億ものファイルがある場合でも、時間がかかることがあります。pv
ここでどれだけ計算されたかを確認することもできます。
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
ここでは278k個のファイルを計算するのに4秒かかったという。 ()末尾の正確な数はの278044
出力ですwc -l
。
カウントを待たない場合は、ファイル数を推測するか、pv
直接使用できます。
$ rm -rv dirname | pv -l > logfile
これにより、達成したい操作を推定することはできませんが、少なくとも削除されたファイルの数を確認できます。/dev/null
ログファイルが不要な場合にリダイレクトしてください。
残響:
- 本当に必要ですか
sudo
? - 通常
rm -r
、再帰的に削除すれば十分です。不要rm -f
。