Das Löschen eines gesamten Baums ist ein teurer Vorgang, es gibt jedoch Möglichkeiten, ihn zu beschleunigen.
Haben Sie die in dieser Antwort aufgeführte Lösung und diese Antwort probiert ? rsync
scheint der schnellste zu sein, weil sie die Löschvorgänge, anstatt einfach gehen über die Liste der Dateien optimiert rm
, find
... tun.
Hast du diese Alternative auch ausprobiert ?
BEARBEITEN:
Bitte beachten Sie: Ich habe diese Befehle nicht getestet.
Befehle, auf die ich mich beziehe, falls die Links in der Zukunft brechen:
rsync
Befehl der ersten beiden Links:
mkdir blank rsync -a --delete blank/ test/
Dritter Link: "Verschiebe sie in ein verstecktes Verzeichnis und entferne es dann im Hintergrund":
mkdir ../.tmp_to_remove mv -- * ../.tmp_to_remove nohup rm -rf ../.tmp_to_remove &
Wie in dieser Antwort erläutert, geht dieser Ansatz davon aus, dass der Benutzer (selbst wenn das Entfernen sehr teuer ist), da der Löschvorgang im Hintergrund in einem anderen Baum erfolgt, die tatsächlichen Kosten möglicherweise nicht berücksichtigt. Meiner Meinung nach ist dies wahr, solange Sie nicht versuchen, Ihre bash / ssh-Sitzung zu schließen, bevor der Löschvorgang ausgeführt wird. Um dies zu beheben, habe ich nohup
dem rm
Befehl ein a hinzugefügt .