Sie können verwenden rm -v
haben rm
eine Zeile gedruckt werden pro Datei gelöscht. Auf diese Weise können Sie sehen, dass rm
das Löschen von Dateien tatsächlich funktioniert. Aber wenn Sie Milliarden von Dateien haben, ist alles, was Sie sehen werden, dass rm
es noch funktioniert. Sie werden keine Ahnung haben, wie viele Dateien bereits gelöscht wurden und wie viele noch übrig sind.
Das Tool pv
kann Ihnen bei einer Fortschrittsabschätzung helfen.
http://www.ivarch.com/programs/pv.shtml
Hier ist , wie Sie aufrufen würde rm
mit pv
mit 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, pv
dass es 1000
Dateien gibt. Die Ausgabe von pv
zeigt, 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 -l
macht pv
durch Zeilenumbrüche statt Bytes zu zählen
pv -s number
gibt an, wie pv
hoch die Gesamtsumme ist, damit Sie eine Schätzung erhalten.
- Die Umleitung nach
logfile
am Ende dient der sauberen Ausgabe. Andernfalls wird die Statuszeile von pv
mit 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/null
wenn 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 pv
hier 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 pv
ohne 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/null
wenn Sie die Protokolldatei nicht benötigen.
Nitpick:
- Haben Sie wirklich brauchen
sudo
?
- In der Regel reicht
rm -r
es aus, rekursiv zu löschen. keine Notwendigkeit für rm -f
.