symlinks
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Das Programm symlinks 🇬🇧 vereinfacht den Umgang mit symbolischen Verknüpfungen, die mit dem Kommandozeilenprogramm ln -s angelegt werden können. Sie werden manchmal auch als Softlink bezeichnet, haben aber nichts zu tun mit den ebenso genannten Dateien mit Suffix .desktop
oder .lnk
bei Windows.
Das Programm findet Verknüpfungen in Ordnern und optional deren Unterordnern und klassifiziert diese nach Art (absolut oder relativ) und Status. Darüber hinaus kann man tote Verknüpfungen automatisch löschen, unsauber erstellte oder überlange reparieren oder absolute in relative umwandeln lassen.
Installation¶
Das Programm kann direkt aus den offiziellen Paketquellen installiert werden[1]:
symlinks („Scannen und Ändern symbolischer Links“ aus universe)
Befehl zum Installieren der Pakete:
sudo apt-get install symlinks
Oder mit apturl installieren, Link: apt://symlinks
Bedienung¶
Man startet das Werkzeug mit den gewünschten Optionen und dem Verzeichnis, welches durchsucht werden soll, in einem Terminal[2]:
symlinks [OPTIONEN] VERZEICHNIS(SE) ...
symlinks-Optionen | |
Verfügbare Optionen | Bedeutung |
-v | zeigt auch relative Verknüpfungen an, welche sonst ausgelassen werden |
-s | zeigt auch überlange Verknüpfungen an, welche sonst ausgelassen werden |
-r | der Befehl wird auch auf Unterverzeichnisse angewandt |
-d | löscht tote Verknüpfungen |
-c | absolute Verknüpfungen werden in relative umgewandelt, unsauber erstellte werden korrigiert und (falls -s zusätzlich aktiviert ist) überlange ebenso |
-t | listet die Änderungen auf, die mit -c gemacht werden, ohne jedoch wirklich etwas zu ändern |
Achtung!
Vorsichtig mit den Optionen -d
und -c
umgehen! Während -c
in Verbindung mit -t
(Testlauf) aufgehoben wird, löscht -d
immer tote Verknüpfungen.
Wenn im Aufruf Verzeichnisse als Optionen angegeben werden, die selbst symbolische Verknüpfungen sind, kommt es zu Problemen (siehe Issue #3 🇬🇧)!
Hinweis:
Beim Überschreiten von Dateisystemgrenzen ist besondere Sorgfalt geboten, da dies nur teilweise funktioniert.
In der Ausgabe wird für jede Verknüpfung die Klassifizierung, der absolute Ort und auch das verknüpfte Ziel angegeben. Die Klassifizierung wird folgendermaßen eingeteilt:
symlinks-Klassifizierungen | |
Klassifizierungen | Bedeutung |
relative | Verknüpfung, dessen Ziel relativ zu ihrem eigenen Ort angegeben ist |
absolute | Verknüpfung, dessen Ziel absolut (startend mit / ) angegeben ist |
dangling | tote Verknüpfung, dessen Ziel (momentan) nicht erreichbar ist |
messy | unsauber 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 |
changed | nach einer Änderung durch die Option -c wird die neue Verknüpfung mit der Klassifizierung changed angezeigt |
deleted | nach dem Löschen durch die Option -d wird die gelöschte Verknüpfung mit der Klassifizierung deleted angezeigt |
Beispiele¶
Alle Verknüpfungen in einem Verzeichnis, unabhängig von deren Art und Funktion, lassen sich mit folgendem Befehl finden:
symlinks -vs /PFAD/ZUM/VERZEICHNIS
Alle funktionierenden Verknüpfungen in einem Verzeichnis, werden mit folgendem Befehl in relative umgewandelt und korrigiert, falls sie unnötige
../
,/
oder.
enthalten:symlinks -vs -c /PFAD/ZUM/VERZEICHNIS
Alle toten Verknüpfungen in einem Verzeichnis, unabhängig von deren Art, lassen sich mit folgendem Befehl löschen:
symlinks -v -d /PFAD/ZUM/VERZEICHNIS
Links¶
symbolic link maintenance utility 🇬🇧 - Projektseite auf Github
Manpage 🇬🇧 - vollständige Beschreibung des Werkzeugs
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle