Welcher feste Link bestimmt den tatsächlichen Speicherort der Datei?

368
Daniel Katz

Nach meinem Verständnis ist eine Datei, wie ich sie im Datei-Explorer sehen kann, im Grunde eine harte Verbindung zu den tatsächlichen Daten. Wenn ich dies in ein anderes Verzeichnis verschiebe, werden auch die Daten an diesen Ort verschoben. Was passiert mit den tatsächlichen Daten, wenn ich einen zweiten Hardlink in ein anderes Verzeichnis verschiebe? Wird gespeichert, an welcher Stelle der beiden Hardlinks?

1
https://en.wikipedia.org/wiki/Hard_link Mokubai vor 6 Jahren 0
Der Dateiinhalt auf einer Platte ist einfach ein Datenblock. Jeder Dateisystemeintrag, wie er beispielsweise in einem Verzeichnis angezeigt wird, ist lediglich ein Link zu diesen Daten. Wenn Sie eine Datei zwischen Verzeichnissen verschieben, verschieben Sie einfach den Link zu diesen Daten. Sie können mehrere feste Links zu diesem Block haben, aber sobald Sie alle Links löschen, werden die Daten effektiv "nicht verknüpft" und daher gelöscht. Mokubai vor 6 Jahren 0

1 Antwort auf die Frage

1
Daniel Katz

Wenn ich darüber nachdenke, denke ich, passiert Folgendes:

Der tatsächliche Speicherort spielt keine Rolle, solange eine Datei mehr als einen festen Link enthält. Die Datei wird möglicherweise auch verschoben, wenn Festverknüpfungen verschoben werden. Da es sich jedoch um INodes handelt, zeigen sie immer auf den richtigen internen Speicherort der Festplatte, selbst wenn einer von ihnen gelöscht wird.

Der genaue Ort hängt von der Anzahl der Faktoren ab:

Wie in der Verknüpfung hängt es von den Dateisystemen (ext4, btrfs, NTFS ...), der Fragmentierung, dem Datenträgertyp, der physischen Beschädigung ab, den Programmen, die das Schreiben ausführen, atc ..

Wenn wir eine Datei in Windows speichern - ist der tatsächliche Speicherort der Datei auf der Festplatte zufällig oder deterministisch?

Willkommen in SU! Bitte denken Sie daran, eine kurze Zusammenfassung eines Links einzufügen, wenn Sie einen Link einfügen (falls der Link stirbt). Blaine vor 6 Jahren 0