
Ich versuche zu verstehen, was mit einer Datei passiert, wenn ich sie von einem Verzeichnis in ein anderes verschiebe.innerhalb desselben Dateisystems.
Hier ist das Beispiel, das ich erfunden habe.
Ich habe zwei Verzeichnisse und eine Datei:
~/Documents/dir1
~/Documents/dir2
~/Documents/dir1/fileName.txt
Hier habe ich einige Details zur Datei fileName.txt
( ls -li
):
784088 -rw-r--r-- 1 myUser myUser 0 Oct 25 02:18 fileName.txt
Anschließend habe ich die Datei mit dem folgenden Befehl fileName.txt
von dir1
nach verschoben:dir2
~/Documents/dir1$ mv fileName.txt ../dir2
und hier habe ich die Details über die Datei fileName.txt
( ls -li
), nachdem ich Folgendes ausgegeben habe mv
:
784088 -rw-r--r-- 1 myUser myUser 0 Oct 25 02:22 fileName.txt
Ich erwartete eine Veränderung derInodeNummer, aber ich lag falsch. Soweit ich es bisher verstanden habe, funktioniert das Verschieben einer Datei innerhalb desselben Dateisystems wie folgt:
- der Datenblock wird nicht angerührt (das ist gut für mich)
- der Inode (das ist mir merkwürdig)
Kann mir dann jemand sagen, was sich an den Dateieigenschaften ändert (abgesehen von der Änderungszeit)?
Vielen Dank im Voraus, wirklich.
Antwort1
Innerhalb desselben Dateisystems mv
verwendet -ing tatsächlich rename(2)
. Der Inode bleibt also intakt, nur der Inode wird aus einem Verzeichniseintrag entfernt und an einen anderen angehängt.