Die Unterschiede zwischen Soft- und Hardlinks in Linux verstehen

Nehmen wir an, Sie haben auf Ihrem funktionierenden Linux-System eine Datei, die in mehreren Verzeichnisschichten verschachtelt ist. Um einfach auf diese Datei zuzugreifen, möchten Sie eine Verknüpfung für diese Datei auf Ihrem Desktop erstellen. Es ist möglich, Symlink (auch als Softlink bekannt) zu verwenden. Es gibt auch eine andere Form von Link, die als Hardlink bekannt ist. In diesem Artikel erklären wir Ihnen die Unterschiede zwischen Soft- und Hardlinks und werfen einen Blick darauf, welchen Sie verwenden sollten.

Ein Softlink oder Symlink ist nur ein symbolischer Link. Es ist einfach ein Zeiger auf den Zieldateipfad. Einem Softlink ist es egal, ob die Datei oder der Ordner im Dateipfad wirklich existiert. Wenn die Datei oder der Ordner nicht existiert, führt dies nur zu einem defekten Symlink. Sie können den symbolischen Link bearbeiten oder löschen, und er wirkt sich nicht auf die Zieldatei aus.

Andererseits bewirkt ein Hardlink, dass der Zieldatei ein zusätzlicher Name gegeben wird. Wenn Sie den Inhalt einer Datei bearbeiten, wird auch der Inhalt der anderen Datei geändert. Kurz gesagt, ein Softlink ist nur ein Verweis auf den Zieldateipfad, während ein Hardlink ein direkter Link zu den Daten der Zieldatei ist.

Im Folgenden veranschaulichen wir, wie Soft- und Hardlinks funktionieren.

Nehmen wir an, wir haben eine Datei namens „first_file.txt“, die vier Textzeilen enthält.

Wir werden einen Softlink in unserem Home-Verzeichnis erstellen.

In der GNOME-Desktopumgebung kann ein Softlink für eine Datei erstellt werden, indem Sie einfach mit der rechten Maustaste auf die Datei klicken und „Link erstellen“ auswählen. Es wird ein Softlink erstellt, dessen Name „Link to .txt“ ähnelt.

Link Sl Guicreate

Wenn wir versuchen, den Inhalt von „sl-firstfile.txt“ anzuzeigen, können wir feststellen, dass er mit „first_file.txt“ identisch ist.

Sl-Ansicht verknüpfen

Wenn wir uns diese beiden Dateien im Dateimanager ansehen, erscheint der Softlink als Verknüpfung zur Originaldatei. Der schwarze Pfeil im Symbol der Datei weist darauf hin.

Link Slfirst

Wenn wir versuchen, die Liste des aktuellen Verzeichnisses mit dem Befehl anzuzeigen ls -l, können Sie sehen, wohin der Softlink auf die Zieldatei zeigt. Das erste Zeichen in der Berechtigungszeichenfolge für „sl-firstfile.txt“ ist „l“, was bedeutet, dass dieser Eintrag für einen Link ist.

Linke Sekunde

Wenn die Zieldatei gelöscht wird, ist der Softlink weiterhin vorhanden.

Link Sl Delorig

Es ist jedoch zu einem „hängenden“ oder „gebrochenen“ Link geworden und nutzlos.

Verwandt :  Wie man World of Warships unter Linux spielt
Link Delview

Wenn Sie nun eine weitere Datei mit demselben Namen – „first_file.txt“ – erstellen, wird der Softlink wieder aktiv.

Notiz: Falls Sie auf Softlinks stoßen und den absoluten Pfad der Datei finden möchten, für die der Link erstellt wurde, verwenden Sie einfach die readlink Befehl wie unten gezeigt.

Link-Leselink

Die Ausgabe dieses Befehls ist der absolute Pfad der Originaldatei.

Jetzt erstellen wir einen Hardlink für dieselbe Datei in unserem Home-Verzeichnis. Dies kann mit dem folgenden Befehl erfolgen:

Notiz: Die Methoden zum Erstellen des Soft- und Hardlinks verwenden beide die ln Befehl. Der einzige Unterschied ist der -s Flag, das einen symbolischen Link bezeichnet.

Eine andere Möglichkeit, einen Hardlink zu erstellen, ist die Verwendung des link Befehl.

Eine Überprüfung beider Dateien zeigt, dass ihr Inhalt gleich ist.

Link Firstview
Link Hl Secondview

In der GUI erscheinen beide Dateien als unterschiedliche Entitäten. Es gibt keinen Hinweis auf die Existenz eines Hardlinks.

Link Hlview

Versuchen wir, der Hardlink-Datei „hl-firstfile.txt“ eine neue Zeile hinzuzufügen.

Die Datenänderung kann in beiden Dateien eingesehen werden.

Link Link Hlappview2
Link Hl Appview1

Wenn ein fester Link erstellt wird, ist es so, als ob zwei verschiedene Dateien existieren, deren Daten jedoch verknüpft sind. Eine Veränderung des einen spiegelt sich im anderen wider.

Schneller Tipp: Beim Erstellen von Softlinks und Hardlinks wäre es eine gute Idee, dieselbe Erweiterung wie die Datei zu verwenden, für die der Link erstellt wird.

Bei Hardlinks ist das Löschen der Originaldatei oder des Hardlinks unproblematisch. Die Daten, die ursprünglich in der Datei gespeichert wurden, sind weiterhin über den Hardlink zugänglich.

Link Hl Del
Link Hl Delview

Wir haben festgestellt, dass Softlinks als Verknüpfungen für eine Datei angezeigt werden. Wenn wir eine Datei in mehreren Verzeichnisebenen haben und sie an einem Ort für den einfachen Zugriff speichern möchten, ist es eine gute Option, einfach einen kurzen Link dafür zu erstellen.

Wir haben gesehen, dass, sobald ein Hardlink für eine Datei erstellt wurde, jede Änderung an der Datei oder dem Hardlink in beiden widergespiegelt wird.

Nehmen wir an, Sie haben einen Backup-Server. Es wird ein inkrementeller Backup-Mechanismus verwendet, bei dem nur die Änderungen an Dateien/Ordnern seit dem letzten Backup widergespiegelt werden. Sie können eine feste Verbindung zwischen einer Datei auf dem Server und der entsprechenden Kopie auf dem Computer herstellen. Wenn die Sicherung durchgeführt wird, werden Änderungen an der Datei auf dem Computer automatisch in die entsprechende fest verknüpfte Datei auf dem Server übernommen, selbst wenn die Dateien eine Namensänderung erfahren.

Verwandt :  8 Möglichkeiten zum Erstellen eines Screenshots unter Linux

Abschluss

Sowohl weiche als auch harte Links haben ihre eigenen Verwendungszwecke und sollten in verschiedenen Situationen verwendet werden. Wenn Sie ihre Unterschiede verstehen, können Sie beim Erstellen von Links bessere Entscheidungen treffen. Auch für Verzeichnisse können Softlinks und Hardlinks erstellt werden. Während Softlinks über Dateisysteme hinweg erstellt werden können, können Hardlinks nur innerhalb desselben Dateisystems erstellt werden.

Moyens Staff
Moyens I/O-Personal. motivierte Sie und gab Ratschläge zu Technologie, persönlicher Entwicklung, Lebensstil und Strategien, die Ihnen helfen werden.