Warum hat das Verschieben einer Datei keine Auswirkungen auf ihre Inode-Nummer?

Warum hat das Verschieben einer Datei keine Auswirkungen auf ihre Inode-Nummer?

Beim Verschieben wird eigentlich eine Kopie einer Datei an einem neuen Speicherort erstellt und die Datei dann an ihrem vorherigen Speicherort gelöscht. Da es unmöglich ist, zwei identische Inode-Nummern gleichzeitig zu haben, sollte sich die Inode-Nummer nach dem Kopieren und vor dem Löschen der alten Datei ändern (kurze Zeit). Ich habe jedoch festgestellt, dass sich die Inode-Nummer nach dem mvBefehl nicht ändert. Wird also die Inode-Nummer der gelöschten Datei der kopierten Datei neu zugewiesen?

Antwort1

Beim Verschieben wird eigentlich eine Kopie einer Datei an einem neuen Speicherort erstellt und die Datei anschließend am vorherigen Speicherort gelöscht.

Das muss nicht unbedingt stimmen.

Wenn das Zielauf demselben Dateisystem, die Datei wird nicht kopiert. Es wird nur ihr Pfad geändert, der Teil eines Verzeichnisses ist, das nicht im Inode gespeichert ist.

Wenn das Zielauf einem anderen Dateisystem, dann wird die Datei kopiert.

Dies wird auch auf Stack Overflow behandelt:Wie funktioniert mv von Linux intern?

verwandte Informationen