Das rm -rf LargeDirectory
Löschen eines großen Verzeichnisses kann je nach Größe des Verzeichnisses einige Zeit in Anspruch nehmen.
Ist es möglich, eine Statusaktualisierung zu erhalten oder den Fortschritt dieses Löschvorgangs zu überwachen, um eine grobe Schätzung zu erhalten, wo sich der Befehl im Verlauf befindet?
watch -n 5 du -s LargeDirectory
. Beobachten Sie, wie es auf Null geht.brew install watch
, oder siehe hier für Anweisungen.Antworten:
von
benutze die -v Option:
quelle
Ich sehe, die Frage ist alt. Ich möchte mitteilen, was für mich funktioniert, um vielleicht jemand anderem zu helfen.
Ich erhalte die Fortschrittsanzeige über die
pv
Befehlszeile Pipe ViewerDas ist der Befehl
Wenn Sie Root-Berechtigungen zum Löschen des Verzeichnisses oder der Datei benötigen,
rm -rv
:-r
um rekursiv DIRs und Dateien zu entfernen.-v
Ausführlich listet es alle Dateien und Verzeichnisse auf, die entfernt werden.pv -l -s
:-l
um Zeilen anstelle von Bytes zu zählen.-s
Stellen Sie die Gesamtzahl der zu entfernenden Zeilen ein.$( du -a <dir_or_file> | wc -l )
:du -a
gibt eine Liste aller Dateien und Verzeichnisse aus dem angegebenen Verzeichnis zurück.wc -l
Gibt die Anzahl der von ausgegebenen Zeilen zurückdu -a
.> /dev/null
: Senden Sie die Ausgabe vonrm -rv
nach nirgendwo.quelle
find {dir} -printf . | wc -c
wäre sicherer (ist aber-printf
eine GNU-Erweiterung).Mit Coreutils Progress Viewer (
cv
) können Sie den Fortschritt aller derzeit ausgeführten Befehle anzeigen . Es ist nicht so, als würde man einen einzelnen Befehl ausgeben, aber man kann den Fortschritt sehen.Ich bin sicher, dass sich jemand einen Alias ausdenken kann, um dies mit dem Befehl auszuführen. Es funktioniert auch mit
cp, mv, dd, tar, gzip/gunzip, cat, etc.
. Weitere Details dazu finden Sie unterGitthub Xfennec / Fortschritt
quelle