Was sind die Vorteile von Symlinks gegenüber Hardlinks und umgekehrt?

13425
Javier

Ich verstehe die Unterschiede zwischen symbolischen und harten Verbindungen, aber ich habe nie verstanden, warum sie sich für die eine oder die andere entscheiden.

9
Siehe Antworten zu "Was ist der Unterschied zwischen einer symbolischen und einer harten Verbindung?" auf StackOverflow: http://stackoverflow.com/questions/185899/what-is-the-differenz-zwischen-a-symbolic-link-and-a-hard-link pelms vor 14 Jahren 2

4 Antworten auf die Frage

9
hurikhan77

Ronald sagt, ein Hardlink kann an zwei Stellen unterschiedliche Berechtigungen haben. Das ist nicht richtig. Beide Orte teilen den gleichen Inode. Berechtigungen sind an den Inode und nicht an den Dateinamen gebunden. Hardlinks an zwei Stellen haben also genau die gleichen Berechtigungen, Zugriffszeiten, ...

8
dmckee

Dies wurde in ServerFault ausführlich beschrieben.

Ein Hardlink verwendet normalerweise dieselben Dateisystemstrukturen (Inode in Unixspeak), während ein Softlink eine Pfadnamenumleitung ist.

  • Hardlinks müssen sich im selben Dateisystem befinden, Softlinks können Dateisysteme übergreifen.
  • Hardlink-Dateien bleiben auch dann verbunden, wenn Sie eine von ihnen verschieben (es sei denn, Sie verschieben eine Datei in ein anderes Dateisystem, wodurch der Mechanismus zum Kopieren und Löschen ausgelöst wird). Softlink-Dateien werden beschädigt, wenn Sie das Ziel (Original) verschieben und manchmal, wenn Sie den Link verschieben (Haben Sie einen absoluten oder relativen Pfad verwendet? Ist der Link noch gültig?).
  • Hardlink-Dateien sind gleich, während das Original spezielle Softlinks enthält. Durch das Löschen des Originals werden die Daten gelöscht. Die Daten gehen nicht verloren, bis alle Hardlinks gelöscht sind.
  • Softlinks können auf ein beliebiges Ziel verweisen, aber die meisten Betriebssysteme / Dateisysteme verbieten Hardlinking-Verzeichnissen, um Zyklen im Dateisystemdiagramm zu verhindern (mit Ausnahme von .und der ..Einträge in Unix-Verzeichnissen, die Hardlinks sind).
  • Softlinks können eine spezielle Unterstützung durch Laufwerkzeuge des Dateisystems erfordern. Lesen Sie den readlink (2) .

(Einige Details wurden von mat1t wieder in Erinnerung gerufen . Danke.)

1
bobmcn

Symlinks können Dateisysteme kreuzen, harte Links nicht. Wenn Sie die Originaldatei löschen, bleibt der Hardlink erhalten, ein Symlink jedoch nicht.

0
Ronald Pottol

Ein fester Link bedeutet im Wesentlichen, dass die Datei an zwei Stellen lebt. Sie kann unterschiedliche Berechtigungen haben. Sie können sie an Ort und Stelle löschen, die anderen jedoch nicht.

Ein Softlink ist nur ein Hinweis auf das Reale.

Eine feste Verknüpfung besteht aus zwei (oder mehr) Verzeichniseinträgen, die auf dieselbe Datei zeigen. Ein Softlink ist ein Verzeichniseintrag, der auf einen anderen Verzeichniseintrag verweist.