Symlinks: Unterschied zwischen den Versionen
K Textersetzung - „= Umgebungsvariablen =“ durch „= Umgebung =“ |
|||
Zeile 77: | Zeile 77: | ||
===== Weblinks ===== | ===== Weblinks ===== | ||
<noinclude> | <noinclude> | ||
=== | = TMP = | ||
=== Symlinks === | |||
Das Tool Symlinks [https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren/2/3/#artRef-i2 [2]] ist dafür gedacht, symbolische Links zu bereinigen, indem es beispielsweise absolute in relative Links umwandelt und defekte Links entfernt | |||
< | * Mit den beiden Parametern <tt>-r</tt> und <tt>-v</tt> erreichen Sie, dass Symlinks rekursiv eine Verzeichnisstruktur durchsucht und ausführliche Informationen zu den Verweisen ausgibt | ||
</ | |||
[https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren/2/2/#artRef-l7 Listing 7] zeigt den Aufruf für unser Projektverzeichnis | |||
* Dabei findet Symlinks einen Verweis, den es als kaputt einstuft (“dangling” heißt so viel wie baumelnd), sowie zwei relative Verweise | |||
* Ein Blick auf die Laufzeit zeigt keinen wesentlichen Unterschied zu [https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren/2/#artRef-l1 Listing 1] und [https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren/2/2/#artRef-l3 Listing 3] | |||
* Um nur die defekten Verweise herauszufiltern, kombinieren Sie den Symlinks-Aufruf mit Egrep ([https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren/2/2/#artRef-l8 Listing 8]): | |||
Listing 7: Symlinks | |||
$ symlinks -rv | |||
dangling: /home/frank/project/version2/data/dataset3 -> project/version1/data/dataset3 | |||
relative: /home/frank/project/old -> project/version1 | |||
relative: /home/frank/project/current -> project/version2 | |||
Listing 8: Symlinks und Egrep | |||
$ symlinks -rv . | egrep "^dangling:" | |||
dangling: /home/frank/project/version2/data/dataset3 -> project/version1/data/dataset3 | |||
[[Kategorie:Linux/Datei/Link]] | [[Kategorie:Linux/Datei/Link]] |
Version vom 29. September 2024, 08:20 Uhr
symlinks - Werkzeug zur Verwaltung von symbolischen Verknüpfungen
Beschreibung
- Scannen und Ändern symbolischer Links
- Symlinks überprüft Verzeichnisse auf symbolische Links und gibt diese auf stdout aus.
- Jedem Link geht eine Klassifizierung nach relative, absolute, dangling, messy, lengthy oder other_fs voraus.
- Symlinks kann auch absolute Links (innerhalb des selben Dateisystems) in relative Links umwandeln und unordentliche und baumelnde Links löschen.
- Durchsucht Verzeichnisse nach symbolischen Links und listet sie auf stdout auf
- Jeder Link wird mit einer Klassifizierung von relativ, absolut, dangling, chaotisch, langwierig oder other_fs ausgegeben
- was oft Fehler im Dateisystem aufdeckt
Option | Beschreibung |
---|---|
relative | Links sind solche, die als Pfade relativ zu dem Verzeichnis ausgedrückt werden, in dem sich die Links befinden, normalerweise unabhängig vom Einhängepunkt des Dateisystems |
absolute | Links sind solche, die als absoluter Pfad vom Stammverzeichnis aus angegeben werden, was durch einen führenden Schrägstrich (/) angezeigt wird |
dangling | Links sind solche, bei denen das Ziel des Links derzeit nicht existiert. Dies tritt häufig bei absoluten Links auf, wenn ein Dateisystem an einem anderen als dem üblichen Einhängepunkt eingehängt wird (z. B. wenn das normale Root-Dateisystem nach dem Booten von einem alternativen Medium unter /mnt eingehängt wird) |
chaotische | Links sind Links, die unnötige Schrägstriche oder Punkte im Pfad enthalten. Diese werden ebenfalls bereinigt, wenn -c angegeben wird |
lengthy | Links sind Links, die "../" mehr als nötig im Pfad verwenden (z. B. /bin/vi -> ../bin/vim) Diese werden nur erkannt, wenn -s angegeben ist, und werden nur bereinigt, wenn auch -c angegeben ist |
other_fs | sind die Links, deren Ziel sich derzeit auf einem anderen Dateisystem befindet als dem, auf dem symlinks ausgeführt wurde (am nützlichsten mit -r ) |
- Hinweis
- symlinks rekursiert nicht und ändert keine Links über Dateisysteme hinweg
Installation
Anwendungen
Fehlerbehebung
Syntax
$ symlinks [ -cdorstv ] dirlist
Optionen
Option | Beschreibung |
---|---|
-c | convert absolute links (within the same filesystem) to relative links. This permits links to maintain their validity regardless of the mount point used for the filesystem -- a desirable setup in most cases. This option also causes any messy links to be cleaned up, and, if -s was also specified, then lengthy links are also shortened. Links affected by -c are prefixed with changed in the output. |
-d | causes dangling links to be removed. |
-o | fix links on other filesystems encountered while recursing. Normally, other filesystems encountered are not modified by symlinks. |
-r | recursively operate on subdirectories within the same filesystem. |
-s | causes lengthy links to be detected. |
-t | is used to test for what symlinks would do if -c were specified, but without really changing anything. |
-v | show all symbolic links. By default, relative links are not shown unless -v is specified. |
Parameter
Umgebung
Rückgabewert
Konfiguration
Dateien
Anhang
Siehe auch
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
TMP
Symlinks
Das Tool Symlinks [2] ist dafür gedacht, symbolische Links zu bereinigen, indem es beispielsweise absolute in relative Links umwandelt und defekte Links entfernt
- Mit den beiden Parametern -r und -v erreichen Sie, dass Symlinks rekursiv eine Verzeichnisstruktur durchsucht und ausführliche Informationen zu den Verweisen ausgibt
Listing 7 zeigt den Aufruf für unser Projektverzeichnis
- Dabei findet Symlinks einen Verweis, den es als kaputt einstuft (“dangling” heißt so viel wie baumelnd), sowie zwei relative Verweise
- Ein Blick auf die Laufzeit zeigt keinen wesentlichen Unterschied zu Listing 1 und Listing 3
- Um nur die defekten Verweise herauszufiltern, kombinieren Sie den Symlinks-Aufruf mit Egrep (Listing 8):
Listing 7: Symlinks
$ symlinks -rv dangling: /home/frank/project/version2/data/dataset3 -> project/version1/data/dataset3 relative: /home/frank/project/old -> project/version1 relative: /home/frank/project/current -> project/version2
Listing 8: Symlinks und Egrep
$ symlinks -rv . | egrep "^dangling:" dangling: /home/frank/project/version2/data/dataset3 -> project/version1/data/dataset3