Im Sinne dieser Frage bedeutet "großes Verzeichnis" beispielsweise ein Linux-Kernel-Git-Repository oder die Chromium-Quelle.
Wenn ich so rm -rf
ein großes Verzeichnis aus der Shell lösche, ist es in nur wenigen Sekunden spätestens gelöscht.
Wenn ich es zuerst in den Papierkorb verschiebe und dann den Papierkorb entleere, dauert der erste Vorgang weniger als eine Sekunde, und das eigentliche Löschen dauert mehrere Minuten (es handelt sich um zweistellige Zahlen).
Warum wird der Müll so langsam geleert? Was macht es, wenn es "vorbereiten" heißt? Wie viel Vorbereitung braucht es eigentlich, um zu laufen rm -rf ~/.local/share/Trash/
?
libnautilus-private/nautilus-file-operations.c
in die Quelle werfen (apt-get source nautilus
). Ich habe nicht den Fleiß und die Geduld, C. zu lesen. Interessante Frage. +1rm -rf ~/.local/share/Trash
könnte schneller sein. Siehe askubuntu.com/a/468722/2273Antworten:
Bei der ersten Operation werden die Dateien einfach in den Papierkorb verschoben.
Wenn Sie diese Dateien "in den Papierkorb werfen", wird die gesamte Baumdatei in den Speicher geladen und anschließend jede Datei einzeln gelöscht. Auf diese Weise können Zeitberechnungen ermitteln, wie lange das Löschen der Datei dauert, wie viele Dateien gelöscht werden sollen und wie groß diese Dateien sind, obwohl die meisten Parameter hier nicht verwendet werden Stoppen Sie den Prozess.
Deshalb lösche ich immer aus der Shell
quelle