Thursday Feb 03, 2022

Unterschied zwischen Hard-Link und Soft-Link

Die Links in Unix sind im Wesentlichen die Zeiger, die mit den Dateien und Verzeichnissen verbunden sind. Der Hauptunterschied zwischen Hard Link und Soft Link ist, dass Hard Link der direkte Verweis auf die Datei ist, während Soft Link der Verweis durch den Namen ist, was bedeutet, dass er auf eine Datei durch den Dateinamen verweist.

Hard Link verbindet die Dateien und Verzeichnisse im gleichen Dateisystem, aber der Soft Link kann Dateisystemgrenzen überschreiten.

Bevor wir Links verstehen, sollten wir zuerst Inode verstehen, eine Inode ist eine Datenstruktur, die aus Metadaten über die Datei besteht, wie z.B. das Erstellungsdatum der Datei, Dateiberechtigungen, Eigentümer der Datei und mehr.

Inhalt: Hard Link Vs Soft Link

  1. Vergleichstabelle
  2. Definition
  3. Schlüsselunterschiede
  4. Abschluss

Vergleichstabelle

Vergleichsgrundlage Hard link Soft link
Basic Eine Datei kann über viele verschiedene Namen aufgerufen werden, die als hard links bezeichnet werden. Auf eine Datei kann über verschiedene Verweise zugegriffen werden, die auf diese Datei verweisen, was als Softlink bezeichnet wird.
Link-Validierung, wenn die ursprüngliche Datei gelöscht wird Gültig bleibt und auf die Datei zugegriffen werden kann. Ungültig
Befehl zur Erstellung verwendet ln ln -s
Knotennummer Gleich Unterschiedlich
Kann mit einer eigenen Partition verknüpft werden. Mit jedem anderen Dateisystem, auch im Netzwerk.
Speicherverbrauch Weniger Mehr
Relativer Pfad Nicht zutreffend Zulässig

Definition von Hard Link

Hard Links verknüpfen zwei Dateien im gleichen Dateisystem direkt und verwenden zur Identifizierung die Inode-Nummer der Datei. Hardlinks können nicht auf Verzeichnisse angewendet werden (da sie auf Inode verweisen). Wenn der Befehl „ln“ verwendet wird, um einen Hardlink zu erzeugen, wird eine weitere Datei in der Befehlszeile erstellt, die als Verweis auf die Originaldatei verwendet werden kann. Sowohl die Originaldatei als auch die erzeugte Datei haben die gleiche Inode und den gleichen Inhalt; daher haben sie die gleichen Rechte und den gleichen Besitzer.

Das Entfernen der Originaldatei hat keinen Einfluss auf die hart verlinkte Datei, und eine hart verlinkte Datei bleibt bestehen. Die Inode enthält einen Zähler, um die Anzahl der Hardlinks zu sich selbst zu berechnen. Wenn der Zähler den Wert 0 anzeigt, wird der Inode geleert. Wann immer Sie Änderungen am Hardlink vornehmen, werden diese in der Originaldatei nachgeahmt.

Definition von Softlink

Softlinks sind normalerweise ein alternativer Pfad (oder ein Alias) für die Originaldatei; diese werden auch als symbolische Links bezeichnet. Er enthält den Namen der „Zieldatei“ des Links, ein Kennzeichen, das angibt, dass es sich um einen Softlink handelt. Wenn auf eine Datei zugegriffen wird, leitet der Softlink sie über den Pfad, der im Betreff des Softlinks angegeben ist, zur Zieldatei um.

Diese sind sehr praktisch im Falle von Windows-Betriebssystemen, wo sich der Softlink wie eine Verknüpfung verhält. Das Erstellen und Löschen der Softlinks hat keinen Einfluss auf die Originaldatei. Wenn die Zieldatei gelöscht wird, bleibt der Softlink hängen, d.h. er zeigt ins Leere und erzeugt eine Fehlermeldung, wenn auf die Zieldatei zugegriffen wird. Soft-Links verwenden im Gegensatz zu Hard-Links keine Inode-Nummer. Ein absoluter oder relativer Pfad kann ein Teil des symbolischen Links sein.

Schlüsselunterschiede zwischen Hardlink und Softlink

  1. Ein Hardlink ist ein zusätzlicher Name der Originaldatei, der sich auf Inode bezieht, um auf die Zieldatei zuzugreifen. Im Gegensatz dazu unterscheidet sich der Softlink von der Originaldatei und ist ein Alias für die Originaldatei, verwendet aber keinen Inode.
  2. Wenn eine Originaldatei gelöscht wird, wird der Softlink ungültig, während ein Hardlink auch dann gültig ist, wenn die Zieldatei gelöscht wird.
  3. In Linux wird für die Erstellung eines Hardlinks der Befehl „ln“ verwendet. Im Gegensatz dazu ist der Befehl für einen Soft-Link „ln -s“.
  4. Hard-Link hat die gleiche Inode-Nummer im Gegensatz zu Soft-Link, wo die Zieldatei und ihr Soft-Link unterschiedliche Inode-Nummern haben.
  5. Hard-Links sind auf ihre eigenen Partitionen beschränkt, aber Soft-Links können verschiedene Dateisysteme abdecken.
  6. Die Leistung von Hard-Link ist in einigen Fällen besser als Soft-Link.
  7. Relativer Pfad und absoluter Pfad sind beide in Soft-Links erlaubt. Im Gegensatz dazu ist der relative Pfad in einem Hard-Link nicht erlaubt.

Fazit

Ein Hard-Link benötigt keinen zusätzlichen Speicherplatz und lässt sich schneller auflösen, aber die auf einen Hard-Link angewandten Änderungen spiegeln sich in der Originaldatei wider. Soft-Links hingegen benötigen zusätzlichen Speicherplatz, aber jede Änderung im Soft-Link hat keine Auswirkungen auf die Originaldatei. Soft-Links sind im Gegensatz zu Hard-Links auf Verzeichnisse erlaubt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Back to Top