Symlinks & Hardlinks

Symlinks und Hardlinks

In diesem Beitrag lesen Sie was Symlinks und Hardlinks sind, lernen deren Unterschiede und Nutzen kennen.

Informationen

Was hat es mit Symlinks und Hardlinks unter Linux so auf sich? Beides sind Links auf andere Dateien oder Verzeichnisse im lokalen Dateisystem oder auch auf das Netzwerk übergreifend. Also einfach gesagt eine Abkürzung zu einem anderen Objekt. Doch was ist der Unterschied und wie arbeitet man damit.

Symlinks

Symlinks sind so gesehen nichts anderes als Verweise auf eine Datei oder ein Verzeichnis wie man sie unter Windows am Desktop kennt, solche Links haben einen kleinen Pfeil in der Ecke des Icons, auch unter Linux kennt man diese kleinen Pfeile.

Klickt man eine solche Datei an wird das Original geöffnet, in einem Texteditor auch bearbeitet. Löscht man einen solchen Link wird das Original natürlich nicht gelöscht:

Ein Symlink unter KDE

Ein Symlink unter KDE

Um einen solchen Symlink auf der grafischen Oberfläche zu erstellen markiert man die Datei oder das Verzeichnis, hält die Tastenkombination Strg + r gedrückt während man die Datei oder eben das Verzeichnis mit der Maus an die gewünschte Stelle zieht.

Auf dem Terminal geschieht dies etwa mit dem Verzeichnis Dokumente mit dem Befehl:

ln -s /home/robert/Dokumente/ /home/robert/Desktop/

Damit das Verzeichnis nun am Desktop liegt (KDE), unter den meisten anderen Desktop-Umgebungen nennt sich das Verzeichnis meist Schreibtisch. Symbolische Links funktionieren über Partitionen sowie über das Netzwerk hinweg.

Hardlinks

Hardlinks sind anders als Symlinks (also symbolische Links) kein Verweis auf eine Datei (es gibt keine Hardlinks für Verzeichnisse), es sind originale Kopien von Dateien können also etwa auch als Backup genutzt werden. Bearbeitet man eine als Hardlink angelegte Datei wird jede damit verlinkte Datei ebenfalls bearbeitet, löscht man eine solche Datei werden alle anderen damit verlinkten Dateien aber beibehalten.

Hardlinks können also nur von Dateien angelegt werden, sie funktionieren nur auf der Partition liegen auf der auch das Original liegt / angelegt werden. Weiters können Hardlinks nur auf dem Terminal angelegt werden.

Nun wollen wir beispielsweise einen Hardlink einer Office-Datei aus dem Dokumente-Verzeichnis auf dem Desktop anlegen:

ln /home/robert/Dokumente/Text.odt /home/robert/Desktop/

Der große Unterschied zwischen Hardlinks und Symlinks ist also das Symlinks nur Verweise auf das Original dar stellen.

Um sich anzusehen wie viele Hardlinks es von einer Datei gibt zeigt auf dem Terminal der Befehl:

ls -al

Findet sich in der Zeile nach den Datei-Rechten eine Zahl die größer ist als die “1” gibt es genau so viele Hardlinks dieser Datei, als kleines Beispiel gibt es hiervon keinen Hardlink:

-rw------- 1 robert robert 113 Dez 21 13:13 .Xauthority