Unterschied zwischen Hard Link und Soft Link

Autor: Laura McKinney
Erstelldatum: 1 April 2021
Aktualisierungsdatum: 1 Kann 2024
Anonim
MicroNuggets: Hard Links versus Soft Links Explained
Video: MicroNuggets: Hard Links versus Soft Links Explained

Inhalt


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, wohingegen der Softlink der Verweis nach dem Namen ist, was bedeutet, dass er nach dem Dateinamen auf eine Datei verweist.

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

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

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

VergleichsbasisHarte Verbindung
Softlink
BasicAuf eine Datei kann über viele verschiedene Namen zugegriffen werden, die als feste Links bezeichnet werden.Auf eine Datei kann über verschiedene Verweise zugegriffen werden, die auf diese Datei verweisen. Dies wird als Softlink bezeichnet.
Linkvalidierung, wenn die Originaldatei gelöscht wirdImmer noch gültig und auf die Datei kann zugegriffen werden.
Ungültig
Befehl, der zur Erstellung verwendet wirdln
ln -s
Inode-NummerGleich
Anders
Kann verlinkt werden Auf eine eigene Partition.Zu jedem anderen Dateisystem sogar vernetzt.
SpeicherverbrauchGeringer, wenigerMehr
Relativer PfadUnzutreffendErlaubt


Definition von Harte Verbindung

Harte Verbindungen Verknüpfen Sie direkt zwei Dateien im selben Dateisystem und verwenden Sie zur Identifizierung die Inode-Nummer der Datei. Harte Links können nicht in Verzeichnissen implementiert werden (da sie auf Inode verweisen). Wann "lnDer Befehl ”wird verwendet, um einen festen Link zu erstellen. Er erstellt eine weitere Datei in der Befehlszeile, mit der auf die ursprüngliche Datei verwiesen werden kann. Sowohl die ursprüngliche 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. Die 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. Wann immer Sie Änderungen an dem festen Link vornehmen, wird dieser in der Originaldatei nachgeahmt.


Definition von Soft-Link

Weiche Links sind normalerweise ein alternativer Pfad (oder ein Alias) für die Originaldatei; diese werden auch als bezeichnet symbolische Links. 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 an die Zieldatei weiter.

Dies ist sehr praktisch bei Windows-Betriebssystemen, bei denen sich der Softlink wie Verknüpfungen 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 hin zeigt und einen Fehler generiert, wenn auf die Zieldatei zugegriffen wird. Softlinks verwenden im Gegensatz zu Hardlinks keine Inode-Nummer. Ein absoluter oder relativer Pfad kann Teil der symbolischen Verknüpfungen sein.

  1. Ein fester Link ist ein zusätzlicher Name der Originaldatei, der auf 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, verwendet jedoch keinen Inode.
  2. Wenn eine Originaldatei gelöscht wird, wird der Softlink ungültig, wohingegen ein Hardlink auch dann gültig ist, wenn die Zieldatei gelöscht wird.
  3. Unter Linux lautet der Befehl zum Erstellen einer festen Verbindung „ln“. Im Gegensatz dazu lautet der Befehl für einen Softlink „ln -s“.
  4. Hard Link hat dieselbe Inode-Nummer wie Soft Link, wobei Zieldatei und Soft Link unterschiedliche Inode-Nummern haben.
  5. Harte Links sind auf eigene Partitionen beschränkt, weiche Links können jedoch unterschiedliche Dateisysteme abdecken.
  6. In einigen Fällen ist die Leistung von Hardlink besser als von Softlink.
  7. Relativer Pfad und absoluter Pfad sind in Softlinks zulässig. Im Gegenteil, der relative Pfad ist in einer festen Verbindung nicht zulässig.

Fazit

Ein fester Link benötigt keinen zusätzlichen Speicherplatz und wird nicht schneller aufgelöst. Die auf einen festen Link angewendeten Änderungen werden jedoch in der Originaldatei wiedergegeben. Auf der anderen Seite benötigt Softlink zusätzlichen Speicherplatz, aber Änderungen am Softlink wirken sich nicht auf die Originaldatei aus. Softlinks sind zu Verzeichnissen erlaubt, die sich von Hardlinks unterscheiden.