Warum ist "rm" so viel langsamer als das Löschen von Dateien über den Dateimanager?


8

Ich habe gesehen, dass das Löschen von Verzeichnissen (mit einer Größe von einigen Gigabyte), die viele Dateien enthalten, bei Verwendung von rm sehr langsam ist . Es dauert bis zu einigen Minuten!
Wenn Sie denselben Ordner über den Dateimanager löschen, ist die Aufgabe innerhalb einer Sekunde erledigt. (Es dauert eine weitere Sekunde, um den Papierkorb danach zu leeren.)

Was ist der Grund dafür?


Wie hast du das Experiment gemacht? Haben Sie beide Male von einem leeren Festplatten-Cache oder mit allen Verzeichnissen im Cache begonnen? Wenn rmalles von der Festplatte geladen werden müsste, der Dateimanager jedoch alles im Speicher erledigt, würde dies den Unterschied erklären.
Gilles 'SO - hör auf böse zu sein'

Ein Verzeichnis (~ 5 GB) auf einer externen USB-Festplatte mit mehr als 3000 Dateien und vielen Unterverzeichnissen.
Schrobe

Hmmm ... Wenn Sie das nächste Mal versuchen, einen Ordner mit vielen Dateien zu löschen, löschen Sie ihn mit UMSCHALT + ENTF in diesem Ordner. Sie werden gefragt, ob Sie diese Dateien dauerhaft entfernen möchten. Daraufhin wird ein Fortschrittsbalken angezeigt, der anzeigt, wie lange das Löschen dauert. Sie sollten beachten, dass es genauso lange dauert wie rm. AFAIK-Dateimanager verwenden nur rmim Hintergrund.
Hazrpg

@schrobe Dies ist nicht die relevante Information. Waren die Daten vor jedem Experiment im Cache?
Gilles 'SO - hör auf böse zu sein'

Ich weiß es nicht. Ich habe vorher nicht auf die Verzeichnisse zugegriffen, also denke ich nicht. Jedenfalls war dies kein echtes "Experiment", aber ich konnte signifikante Unterschiede feststellen. Da sich herausstellte, dass es keine triviale Antwort gibt, kann ich ein "Experiment" einrichten und die Zeit genau messen (und die gleichen Speicherbedingungen sicherstellen).
Schrobe

Antworten:


10

Der rmBefehl entfernt die Dateien tatsächlich. Der Dateimanager verschiebt die Dateien nur in den Papierkorb. Erst wenn Sie den Papierkorb leeren, sehen Sie die tatsächliche Zeit, rmdie zum Löschen der Dateien benötigt wurde. Einfach ausgedrückt ist das Verschieben von Dateien schneller als das Löschen. Der Dateimanager verschiebt Dateien, während er sie rmentfernt.


3
Aber wie gesagt: Das Leeren des Mülls spricht auch nicht lange. Meine Vermutung: Das Löschen des Papierkorbs dauert tatsächlich lange, wird jedoch leer angezeigt, obwohl der Befehl rm noch im Hintergrund ausgeführt wird.
Schrobe

Aber rmeinfach die Verknüpfung der Dateien aufheben, nein?
Lindhe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.