Was ist Symbolischer Link (Symlink)?
Eine besondere Datei, deren Inhalt der Pfad einer anderen Datei oder eines Verzeichnisses ist; beim Öffnen wird das verwendet, wohin dieser Pfad führt. Man erzeugt ihn mit ln -s Ziel Linkname, und ls -l zeigt ihn mit einem führenden l als „Linkname -> Ziel“. Er kann auf andere Dateisysteme und auf Verzeichnisse zeigen, wird aber zu einem defekten Link ohne Ziel, wenn das Ziel gelöscht oder verschoben wird. Davon zu unterscheiden ist der Hardlink, ein weiterer Name für denselben Inode.
Japanische Bezeichnung: シンボリックリンク
„Symbolischer Link (Symlink)“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Grundlagen von Linux und der Kommandozeile.
Fachgebiet: Grundlagen von Linux und der Kommandozeile
Relative und absolute Pfade
Enthält der Link einen relativen Pfad, wird er ausgehend von dem Verzeichnis verfolgt, in dem der Link liegt. Das hat den Vorteil, dass die Beziehung erhalten bleibt, wenn man ein ganzes Verzeichnis an einen anderen Ort verschiebt; verschiebt man nur den Link, ist er jedoch defekt. Mit einem absoluten Pfad zeigt der Link, wohin man ihn auch verschiebt, auf denselben Ort, wird aber defekt, wenn sich die Struktur der Zielverzeichnisse ändert.
Häufige Fragen
Wofür werden symbolische Links verwendet?
Bekannt ist das Umschalten zwischen Werkzeugversionen. Zeigt /opt/tools/sim auf das Verzeichnis der neuesten Version, behalten die Skripte der Benutzer denselben Pfad, und die Version lässt sich allein durch Umsetzen des Links wechseln. Sie dienen auch zur Benennung von Shared Libraries, von libfoo.so auf libfoo.so.1.2, und dazu, aus einem Projekt heraus auf große Daten zu verweisen, die auf einer anderen Festplatte liegen.
Wie findet man defekte Links?
Existiert das Ziel nicht, das ls -l anzeigt, wird das in vielen Umgebungen farblich oder anders markiert. Mit GNU find listet find . -xtype l symbolische Links auf, die ins Leere führen. Der Versuch, einen defekten Link zu öffnen, endet mit dem Fehler „No such file or directory“.