Sie können verwenden rm -vhaben rmeine Zeile gedruckt werden pro Datei gelöscht. Auf diese Weise können Sie sehen, dass rmdas Löschen von Dateien tatsächlich funktioniert. Aber wenn Sie Milliarden von Dateien haben, ist alles, was Sie sehen werden, dass rmes noch funktioniert. Sie werden keine Ahnung haben, wie viele Dateien bereits gelöscht wurden und wie viele noch übrig sind.
Das Tool pvkann Ihnen bei einer Fortschrittsabschätzung helfen.
http://www.ivarch.com/programs/pv.shtml
Hier ist , wie Sie aufrufen würde rmmit pvmit Beispielausgabe
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
In diesem erfundenen Beispiel habe ich gesagt, pvdass es 1000Dateien gibt. Die Ausgabe von pvzeigt, dass 562 bereits gelöscht wurden, die verstrichene Zeit 7 Sekunden beträgt und die Schätzung für den Abschluss 5 Sekunden beträgt.
Einige Erklärungen:
pv -lmacht pvdurch Zeilenumbrüche statt Bytes zu zählen
pv -s numbergibt an, wie pvhoch die Gesamtsumme ist, damit Sie eine Schätzung erhalten.
- Die Umleitung nach
logfileam Ende dient der sauberen Ausgabe. Andernfalls wird die Statuszeile von pvmit der Ausgabe von verwechselt rm -v. Bonus: Sie erhalten eine Protokolldatei von dem, was gelöscht wurde. Aber Vorsicht, die Datei wird riesig. Sie können auch weiterleiten, /dev/nullwenn Sie kein Protokoll benötigen.
Um die Anzahl der Dateien zu ermitteln, können Sie diesen Befehl verwenden:
$ find dirname | wc -l
Dies kann auch bei Milliarden von Dateien sehr lange dauern. Sie können auch pvhier sehen, wie viel es gezählt hat
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Hier heißt es, dass es 4 Sekunden gedauert hat, bis 278k Dateien gezählt wurden. Die genaue Anzahl am Ende ( 278044) ist die Ausgabe von wc -l.
Wenn Sie nicht auf die Zählung warten möchten, können Sie entweder die Anzahl der Dateien erraten oder pvohne Schätzung verwenden:
$ rm -rv dirname | pv -l > logfile
Auf diese Weise haben Sie keine Schätzung für den Abschluss, aber Sie werden zumindest sehen, wie viele Dateien bereits gelöscht wurden. Weiterleiten an, /dev/nullwenn Sie die Protokolldatei nicht benötigen.
Nitpick:
- Haben Sie wirklich brauchen
sudo?
- In der Regel reicht
rm -res aus, rekursiv zu löschen. keine Notwendigkeit für rm -f.