Warum ändert sich der freie Speicherplatz auf der Quellpartition während "mv" nicht?


12

Ich mvmöchte ein Verzeichnis (das viele Dateien enthält) von einer Partition auf eine andere verschieben. Beim mvVerschieben einzelner Dateien im Verzeichnis nacheinander stelle ich fest, dass sich der freie Speicherplatz der Quellpartition nicht ändert, während sich der freie Speicherplatz der Zielpartition verringert.

Warum funktioniert das so, anstatt dass die Summe der freien Speicherplatzgrößen der Quell- und Zielpartitionen gleich bleibt?

Antworten:


15

Wie in POSIX definiert, dupliziert mv die Quelldatei in den Zielpfad. Wenn nichts schief geht, wird die Quelldatei entfernt:

  1. Die in source_file verwurzelte Dateihierarchie wird als Dateihierarchie dupliziert, die im Zielpfad verwurzelt ist

  2. Die in source_file verankerte Dateihierarchie soll entfernt werden. Wenn dies aus irgendeinem Grund fehlschlägt, schreibt mv eine Diagnosemeldung in den Standardfehler, macht nichts mehr mit der aktuellen Quellendatei und fährt mit den verbleibenden Quellendateien fort.

Wenn Sie dasselbe Dateisystem verwenden, verschieben Sie den Eintrag nur von einem Speicherort im Dateisystem an einen anderen.

Es wird garantiert, dass Sie die Quelldatei nicht verlieren, wenn beim Verschieben Fehler auftreten.


15

Es ist konservativ und löscht keine Dateien, bis der Kopiervorgang erfolgreich abgeschlossen wurde. Dies erleichtert die Wiederherstellung, wenn etwas schief geht.


aber die dir hat viele Dateien
Tim

7
@Tim: Das Entfernen der Quelldateien wird erst gestartet, nachdem alle Dateien auf dem Zieldatenträger dupliziert wurden. Wenn Sie die Dateien einzeln verschieben müssen, damit nie mehr "zusätzlicher" Speicherplatz als der der größten Datei verwendet wird, müssen Sie eine Schleife erstellen, um dies zu tun.
Warren Young

4
Haben Sie jemals einen Umzug in MS-Windows durchgeführt und nach etwa der Hälfte des Umzugs ist ein Fehler aufgetreten. Sowohl Quelle als auch Ziel sind ein Durcheinander, und Sie müssen es beheben. Wenn Sie kein Abendbrotfreak sind, löschen Sie wahrscheinlich einfach beide und lernen, es nicht noch einmal zu tun.
Strg-Alt-Delor
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.