Symlinks bieten die Möglichkeit, Ordner von verschiedenen Datenträgern unter einem Verzeichnis z. B. home, gemeinsam verfügbar zu machen.
Wird die Quelle verschoben oder umbenannt, verweist der Symlink ins Leere.

Zumeist sind verwaiste Symlinks relativ selten und treten auf einem frisch installierten Linux-System nicht auf.
Nach Veränderungen auf Dateiservern mit mehreren Partitionen – die in Symlinks zusammengefasst sind – kann es aber immer wieder defekte Symlinks geben.
Diese lassen sich zum einem mit dem Bordmittel find, alternativ mit Hilfswerkzeugen aus den Standard-Paketquellen der jeweils verwendeten Linux-Distribution aufspüren.

Der Befehl find listet mit

find . -type l -exec test ! -e {} \; -print

alle defekten Symlinks – ausgehend vom aktuellen Verzeichnis – auf…

Terminal-Ausgabe:

Einen einfacheren Weg bietet das spezialisierte Tool symlinks.
Installieren lässt sich dieses unter Debian, Ubuntu und Derivate mit dem Befehl:

sudo apt install symlinks

Entgegen der vorherigen Variante erfordert diese Vorgehensweise keine überlange kryptische Befehlszeilen.

Der folgende Befehl:

symlinks . -r 

– ausgehend vom aktuellen Verzeichnis – kontrolliert dann alle Symlinks die verwaist sind und evtl. einer Überprüfung bedürfen, ob es die Zielordner oder Dateien noch gibt.

Anmerkung:
Der Punkt (.) in dem Linux-Befehlsymlinks . -r“ hat die Bedeutung, dass symbolische Links – in diesem Fall – relativ zum aktuellen Verzeichnis erstellt werden sollen.

Das System-Tool symlinks überprüft die Dateisystem-Verknüpfungen im Bezugs – Ordner auf Fehler und listet verwaiste Links als „dangling“ auf.

Wissenswertes zur Bedienung

Symlinks Befehls-Optionen

Verfügbare OptionenBedeutung
-vzeigt auch relative Verknüpfungen an, welche sonst ausgelassen werden
-szeigt auch überlange Verknüpfungen an, welche sonst ausgelassen werden
-rder Befehl wird auch auf Unterverzeichnisse angewandt
-dlöscht tote Verknüpfungen
-cabsolute Verknüpfungen werden in relative umgewandelt, unsauber erstellte werden korrigiert und (falls -s zusätzlich aktiviert ist) überlange ebenso
-tlistet die Änderungen auf, die mit -c gemacht werden, ohne jedoch wirklich etwas zu ändern

Symlinks Klassifizierungen

KlassifizierungenBedeutung
relativeVerknüpfung, dessen Ziel relativ zu ihrem eigenen Ort angegeben ist
absoluteVerknüpfung, dessen Ziel absolut (startend mit /) angegeben ist
danglingtote Verknüpfung, dessen Ziel (momentan) nicht erreichbar ist
messyunsauber erstellte Verknüpfung, die unnötige / oder . in ihrem Pfad enthält
lengthyüberlange Verknüpfung, die ../ (Sprung in das übergeordnete Verzeichnis) öfter als notwendig enthält
other_fs Verknüpfung, dessen Ziel außerhalb des Dateisystems, in dem symlinks ausgeführt wird, liegt
changednach einer Änderung durch die Option -c wird die neue Verknüpfung mit der Klassifizierung changed angezeigt
deletednach dem Löschen durch die Option -d wird die gelöschte Verknüpfung mit der Klassifizierung deleted angezeigt

Unterschied zwischen relativen und absoluten Pfaden bezüglich Symlinks

Ein Pfad ist eine Angabe des Speicherorts einer Datei oder eines Ordners in einem Dateisystem. Es gibt zwei Arten von Pfaden: Relative Pfade und absolute Pfade. Der Unterschied liegt darin, wie der Speicherort angegeben wird.

Relativer Pfad:
Ein relativer Pfad gibt den Speicherort einer Datei oder eines Ordners relativ zum aktuellen Arbeitsverzeichnis an. Das bedeutet, dass der Pfad in Bezug auf den aktuellen Speicherort angegeben wird. Ein relativer Pfad kann verwendet werden, um auf Dateien oder Ordner innerhalb des gleichen Verzeichnisses oder in Unterordnern zu verweisen. Wenn sich der aktuelle Arbeitsverzeichnis ändert, ändert sich auch der relative Pfad entsprechend. Ein relativer Pfad beginnt normalerweise nicht mit einem Schrägstrich (/).

Absoluter Pfad:
Ein absoluter Pfad gibt den vollständigen Speicherort einer Datei oder eines Ordners im Dateisystem an. Er enthält den gesamten Pfad vom Stammverzeichnis bis zur Datei oder zum Ordner. Ein absoluter Pfad beginnt normalerweise mit einem Schrägstrich (/).
Ein absoluter Pfad bleibt unverändert, unabhängig vom aktuellen Arbeitsverzeichnis.

Bezüglich Symlinks gibt es keinen spezifischen Unterschied zwischen relativen und absoluten Pfaden. Hierbei handelt es sich um eine Art von Dateiverknüpfung, die auf eine andere Datei oder einen anderen Ordner verweist. Sowohl relative als auch absolute Pfade können verwendet werden, um auf die Datei oder den Ordner zu verweisen, auf den der Symlink zeigt.

Categories:

Schreibe einen Kommentar

5 Reaktionen

  1. Vielen Dank für den hilfreichen Artikel!

    Folgende Aussage bedarf Berichtigung/Ergänzung:
    „Diese Art der Verlinkung arbeitet mit absoluten Pfaden.“

    Wie im Artikel unter ‚Symlinks Klassifizierungen‘ selbst beschrieben, können Symlinks erstellt werden mit:
    * absoluten Pfaden
    * relativen Pfaden

  2. Könntest Du bitte Bedeutung des „.“ in der Syntax des angegebenen Beispiels erklären?

    symlinks . -r /home/user

    Folgend der Syntax, erwähnt in der man page:
    symlinks [-cdorstv] dirlist
    für die recursive Durchsuchung des home Verzeichnisses des Users user genügt:
    symlinks -r /home/user

    • Hallo @JaneDoe,

      sorry, dass ich mich erst heute melde – ich war verreist…
      Danke für Deine Anmerkungen. Ich habe den Beitrag entsprechend geändert und als Ergänzung und zum besseren Verständnis den Unterschied zwischen relativen und absoluten Pfaden erläutert.
      Vielleicht war die Einführung etwas irreführend und unglücklich gewählt…

      • Hi zebolon,

        vielen Dank für die Rückmeldung und Ergänzung.

        Anmerkungen zu den Ausführungen über Relative Pfade:

        * ein relativer Pfad kann sehr wohl auch auf Daten in höher gelegenen Verzeichnissen verweisen

        * auch ein relativer Pfad verändert sich nicht, wenn der Symlink (oder die Datei) kopiert/verschoben wird

Neue Themen im Forum
Statistik November 2024Die Entwicklung im WIKI im November 2024 Insgesamt sind 14 neue B … Weiterlesen
Black FridayBlack Friday Cyber Monday Privatinsolvenz Tuesday Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

Januar 2024
M D M D F S S
1234567
891011121314
15161718192021
22232425262728
293031  
Archive