Mit einem einfachen Linux-Befehl könnt ihr einen Symlink in Linux erstellen. Wir zeigen, wie das geht und was die Unterschiede und Anwendungsgebiete von Hardlinks und Symlinks (Softlinks) sind.
Linux: Symlink erstellen
Symbolische Links (Symlinks oder auch Softlinks) sind Verknüpfungen, die man unter Windows ganz normal als „Links“ kennt. In Linux erstellt ihr sie mit dem Befehl:
Befehl: ln -s /Pfad/zur/Datei /Pfad/zum/symlink
Sofern der Symlink bereits existiert, bricht der Befehl ab.
Optionen:
-s
(symbolic) erstellt einen symbolischen Link statt eines Hardlinks.-f
(force) aktualisiert den Link und entfernt existierende Ziele.-i
(interactive) fragt nach, bevor Ziele entfernt werden (setzt -s voraus).-r
(relative) erstellt symbolische Links relativ zum Link-Speicherort.
Beispiel: ln -s /home/zina/katze.jpg /home/zina/Schreibtisch/katzenlink
Der Befehl erstellt auf dem Schreibtisch des Nutzers „zina“einen symbolischen Link namens „katzenlink“, der auf die Datei „katze.jpg“ in Zinas Home-Verzeichnis zeigt.
Tipp: Symlinks in Windows erstellen
Unterschiede und Eigenschaften von Symlinks und Hardlinks
Den Symlink erkennt ihr im Linux-Dateimanager an dem kleinen Pfeil unten rechts im Thumbnail. Wenn ihr einen gewöhnlichen Hardlink erstellt (gleicher Befehl ohne Option -s), dann wird kein solcher Pfeil angezeigt. Wenn ein Hardlink erstellt wurde, gibt es also kein Anzeichen, dass er unterschiedlich zur eigentlichen Datei ist. Das liegt daran, weil der Hardlink, dann im Grunde die Datei ist, auf die er zeigt.
Erkenntlich wird das, wenn man sich die Inodes (Linux-Datenstruktur) der Ursprungsdatei und der Link-Typen anschaut. Als Beispiel haben wir im Home-Verzeichnis einen Symlink und einen Hardlink auf die Datei katze.jpg erstellt und schauen uns die zugehörigen inodes mit dem Befehl ls -lhi
an:
Aus dem Grund ergeben sich folgende Unterschiede und Eigenschaften von Sym- und Hardlinks:
- Wenn ihr die Datei, auf die ein Sym- oder Hardlink zeigt, inhaltlich verändert, werden Sym- und Hardlink ebenso aktualisiert. Bei Dateinamensänderungen funktioniert das nur bei Hardlinks.
- Wenn ihr einen Symlink erstellt, und die Datei, auf welche er zeigt, verschoben oder gelöscht wird, funktioniert der Symlink nicht mehr.
- Wenn ihr einen Hardlink erstellt, und die Datei, auf welche er zeigt, verschoben oder gelöscht wird, funktioniert der Hardlink immer noch.
- Hardlinks können nur für Dateien erstellt werden.
- Hardlinks funktionieren nicht außerhalb des eigenen Dateisystems.
Anwendungsgebiete
Symlinks werden ständig eingesetzt, um strukturiert auf bestehende Ordner und Dateien zuzugreifen, die in einem bestimmten (anderen) Verzeichnis liegen. Das einfachste Beispiel sind Desktop-Verknüpfungen, die auf die eigentlichen ausführbaren Programme in ihren Installationsordnern zeigen.
Mit Hardlinks kann man auf Dateien, Programme und Skripte auch außerhalb ihrer ursprünglichen Namen/Pfade zugreifen. Das ist praktisch, wenn ein Programm eine bestimmte Bibliothek verlangt, die veraltet ist. Man erstellt dann einen Hardlink mit dem Namen der veralteten Bibliothek, der auf die installierte, neuere Version zeigt.