Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen Hardlink und Softlink

Die Links in Unix sind im Wesentlichen die Zeiger, die den Dateien und Verzeichnissen zugeordnet sind. Der Hauptunterschied zwischen einem Hardlink und einem Softlink besteht darin, dass der Hardlink der direkte Verweis auf die Datei ist, während der Softlink der Name ist. Dies bedeutet, dass er auf eine Datei mit dem Dateinamen verweist.

Hard Link verknüpft die Dateien und Verzeichnisse im selben Dateisystem, aber der Soft Link kann Dateisystemgrenzen überschreiten.

Bevor wir Links verstehen, müssen wir zunächst Inode verstehen. Ein Inode ist eine Datenstruktur, die Metadaten über die Datei enthält, z. B. Erstellungsdatum der Datei, Dateiberechtigungen, Eigentümer der Datei und vieles mehr.

Vergleichstabelle

Basis zum VergleichHard link
Softlink
BasicAuf eine Datei kann über viele verschiedene Namen zugegriffen werden, die als Hardlinks bezeichnet werden.Auf eine Datei kann über verschiedene Referenzen zugegriffen werden, die auf diese Datei verweisen. Dies wird als Softlink bezeichnet.
Link-Überprüfung, wenn die Originaldatei gelöscht wirdImmer noch gültig und auf Datei kann zugegriffen werden.
Ungültig
Befehl zur Erstellungl
ls -s
Inode-NummerGleich
Anders
Kann verlinkt werdenZu seiner eigenen Partition.Zu jedem anderen Dateisystem sogar vernetzt.
SpeicherverbrauchWenigerMehr
Relativer PfadUnzutreffendDürfen

Definition von fester Link

Hardlinks verbinden direkt zwei Dateien im selben Dateisystem und verwenden zur Identifikation die Inode-Nummer der Datei. Hardlinks können in Verzeichnissen nicht implementiert werden (da sie auf Inode verweisen). Wenn der Befehl " ln " verwendet wird, um eine feste Verknüpfung zu erstellen, wird in der Befehlszeile eine weitere Datei erstellt, die zum Verweisen auf die Originaldatei verwendet werden kann. Sowohl die Originaldatei als auch die generierte Datei haben den gleichen Inode und Inhalt. Daher haben sie die gleichen Berechtigungen und den gleichen Besitzer.

Das Entfernen der Originaldatei hat keinen Einfluss auf die fest verknüpfte Datei, und eine fest verknüpfte Datei bleibt erhalten. Der Inode enthält einen Zähler, um die Anzahl der festen Verbindungen zu sich selbst zu berechnen. Wenn der Zähler den Wert 0 anzeigt, wird der Inode geleert. Wenn Sie Änderungen an der festen Verknüpfung vornehmen, wird diese in der Originaldatei nachgeahmt.

Definition von Soft Link

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

Dies ist sehr praktisch bei Windows-Betriebssystemen, bei denen sich der Softlink als Abkürzung verhält. Das Erstellen und Löschen der Softlinks wirkt sich nicht auf die Originaldatei aus. Wenn die Zieldatei gelöscht wird, baumelt der Softlink, was bedeutet, dass er nirgendwo hinweist und eine Fehlermeldung erzeugt, wenn auf die Zieldatei zugegriffen wird. Softlinks verwenden im Gegensatz zu Hardlinks keine Inode-Nummer. Ein absoluter oder relativer Pfad könnte Teil der symbolischen Links sein.

Hauptunterschiede zwischen Hardlink und Softlink

  1. Ein Hardlink ist ein zusätzlicher Name der Originaldatei, der auf den Inode verweist, um auf die Zieldatei zuzugreifen. Im Gegensatz dazu unterscheidet sich der Softlink von der Originaldatei und ist ein Alias ​​für die Originaldatei, es wird jedoch kein Inode verwendet.
  2. Wenn eine Originaldatei gelöscht wird, wird der Softlink ungültig. Ein Hardlink ist jedoch auch dann gültig, wenn die Zieldatei gelöscht wird.
  3. In Linux ist der Befehl zum Erstellen einer festen Verknüpfung „ ln “. Im Gegensatz dazu ist der Befehl für einen Softlink " ln -s ".
  4. Hardlink hat dieselbe Inode-Nummer, die der Softlink-Funktion nicht entspricht, wobei die Zieldatei und ihre Softlink-Verbindung eine unterschiedliche Inode-Nummer haben.
  5. Hardlinks sind auf eigene Partitionen beschränkt, Softlinks können jedoch unterschiedliche Dateisysteme abdecken.
  6. Die Leistung von Hardlinks ist in manchen Fällen besser als Softlinks.
  7. Relativer Pfad und absoluter Pfad sind beide in Softlinks zulässig. Im Gegensatz dazu ist der relative Pfad in einer harten Verbindung nicht zulässig.

Fazit

Ein Hardlink erfordert keinen zusätzlichen Speicherplatz und eine schnellere Auflösung der Matte, aber die an einem Hardlink vorgenommenen Änderungen spiegeln sich in der Originaldatei wider. Auf der anderen Seite benötigt Softlink zusätzlichen Speicherplatz, aber Änderungen an dem Softlink wirken sich nicht auf die Originaldatei aus. Soft Links sind im Gegensatz zu Hard Link zu Verzeichnissen erlaubt.

Top