Symlinks: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Kategorie:Linux:Dateien“ durch „Kategorie:Linux/Dateien“
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(76 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:symlinks}}
'''symlinks''' - Verwaltung von symbolischen Verknüpfungen
 
== Beschreibung ==
Symlinks ist dafür gedacht, symbolische Links zu bereinigen
* Absolute in relative Links umwandeln
* Defekte Links entfernen
 
; Verzeichnisstruktur
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
 
; 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, was oft Fehler im Dateisystem aufdeckt
 
; Klassifizierung
Je Link wird eine Klassifizierung ausgegeben
{| class="wikitable sortable options"
|-
! 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.&nbsp;B.&nbsp; 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.&nbsp;B.&nbsp; /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
 
== Anwendung ==
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line>
symlinks -rv
dangling: /home/user/project/version2/data/dataset3 -> project/version1/data/dataset3
relative: /home/user/project/old -> project/version1
relative: /home/user/project/current -> project/version2
</syntaxhighlight>
 
# Dabei findet Symlinks einen Verweis, den es als defekt 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
 
; Defekten Links
Defekten Links suchen
Um nur die defekten Verweise herauszufiltern, kombinieren Sie den Symlinks-Aufruf mit Egrep
<syntaxhighlight lang="bash" highlight="1" line>
symlinks -rv . | egrep "^dangling:"
dangling: /home/user/project/version2/data/dataset3 -> project/version1/data/dataset3
</syntaxhighlight>
 
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line>
sudo apt install symlinks
</syntaxhighlight>
 
<syntaxhighlight lang="bash" highlight="1" line>
sudo apt show symlinks
Package: symlinks
Version: 1.4-4
Priority: optional
Section: utils
Maintainer: Gunnar Wolf <gwolf@debian.org>
Installed-Size: 36,9 kB
Depends: libc6 (>= 2.4)
Tag: interface::commandline, role::program, scope::utility, use::organizing
use::scanning
Download-Size: 11,3 kB
APT-Manual-Installed: yes
APT-Sources: http://ftp.de.debian.org/debian testing/main amd64 Packages
Description: 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
</syntaxhighlight>
 
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
symlinks [ -cdorstv ] dirlist
</syntaxhighlight>
 
=== Optionen ===
{| class="wikitable sortable options"
|-
! Option !! Beschreibung
|-
| -c || konvertiert absolute Links (innerhalb desselben Dateisystems) in relative Links. Dies ermöglicht es, dass Links ihre Gültigkeit unabhängig vom Einhängepunkt des Dateisystems beibehalten - eine wünschenswerte Einstellung in den meisten Fällen. Diese Option bewirkt auch, dass unordentliche Links bereinigt werden, und, falls auch -s angegeben wurde, werden auch lange Links gekürzt. Links, die von -c betroffen sind, werden in der Ausgabe mit dem Präfix changed versehen
|-
| -d || bewirkt, dass nicht mehr verwendete Verknüpfungen entfernt werden
|-
| -o || Symlinks auf andere Dateisysteme reparieren, die beim Rekursieren gefunden wurden. Normalerweise werden andere Dateisysteme, die gefunden werden, nicht durch Symlinks verändert.
|-
| -r || rekursiv auf Unterverzeichnisse innerhalb desselben Dateisystems angewendet werden
|-
| -s || führt dazu, dass lange Links erkannt werden
|-
| -t || wird verwendet, um zu testen, was symbolische Links tun würden, wenn -c angegeben wäre, ohne jedoch wirklich etwas zu ändern
|-
| -v || Zeige alle symbolischen Links. Standardmäßig werden relative Links nur angezeigt, wenn -v angegeben wird.
|}


'''symlinks''' ist ein Werkzeug zur Verwaltung von symbolischen Verknüpfungen
=== Parameter ===
{| class="wikitable options"
|-
! Parameter !! Beschreibung
|-
| dirlist || Liste von Verzeichnissen
|}


$ symlinks [ -cdorstv ] dirlist
== Konfiguration ==
=== Dateien ===
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Dokumentation ====
===== Man-Page =====
# SYMLINKS(1)


'''symlinks''' is a useful utility for maintainers of FTP sites, CDROMs, and Linux software distributions. It scans directories for symbolic links and lists them on stdout, often revealing flaws in the filesystem tree.  
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====
# https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren


*Each link is output with a classification of relative, '''absolute, dangling, messy, lengthy, or other_fs'''. * '''relative''' links are those expressed as paths relative to the directory in which the links reside, usually independent of the mount point of the filesystem.
[[Kategorie:Linux/Datei/Link]]
*'''absolute''' links are those given as an absolute path from the root directory as indicated by a leading slash (/).
[[Kategorie:Linux/Befehl]]
*'''dangling''' links are those for which the target of the link does not currently exist. This commonly occurs for absolute links when a filesystem is mounted at other than its customary mount point (such as when the normal root filesystem is mounted at /mnt after booting from alternative media).
*'''messy''' links are links which contain unnecessary slashes or dots in the path. These are cleaned up as well when -c is specified.
*'''lengthy''' links are links which use "../" more than necessary in the path (eg. /bin/vi -> ../bin/vim) These are only detected when -s is specified, and are only cleaned up when -c is also specified.
*'''other_fs''' are those links whose target currently resides on a different filesystem from where symlinks was run (most useful with -r ).


*symlinks does not recurse or change links across filesystems.
{{DISPLAYTITLE:symlinks}}
[[Kategorie:Linux/Dateien]]
[[Kategorie:Linux:Befehl]]
{{DEFAULTSORT:symlinks}}
{{DEFAULTSORT:symlinks}}
</noinclude>

Aktuelle Version vom 12. November 2024, 19:40 Uhr

symlinks - Verwaltung von symbolischen Verknüpfungen

Beschreibung

Symlinks ist dafür gedacht, symbolische Links zu bereinigen

  • Absolute in relative Links umwandeln
  • Defekte Links entfernen
Verzeichnisstruktur

Mit den beiden Parametern -r und -v erreichen Sie, dass Symlinks rekursiv eine Verzeichnisstruktur durchsucht und ausführliche Informationen zu den Verweisen ausgibt

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, was oft Fehler im Dateisystem aufdeckt

Klassifizierung

Je Link wird eine Klassifizierung ausgegeben

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

Anwendung

Beispiel
symlinks -rv
dangling: /home/user/project/version2/data/dataset3 -> project/version1/data/dataset3
relative: /home/user/project/old -> project/version1
relative: /home/user/project/current -> project/version2
  1. Dabei findet Symlinks einen Verweis, den es als defekt einstuft (“dangling” heißt so viel wie baumelnd), sowie zwei relative Verweise
  2. Ein Blick auf die Laufzeit zeigt keinen wesentlichen Unterschied zu Listing 1 und Listing 3
Defekten Links

Defekten Links suchen Um nur die defekten Verweise herauszufiltern, kombinieren Sie den Symlinks-Aufruf mit Egrep

symlinks -rv . | egrep "^dangling:"
dangling: /home/user/project/version2/data/dataset3 -> project/version1/data/dataset3

Installation

sudo apt install symlinks
sudo apt show symlinks
Package: symlinks
Version: 1.4-4
Priority: optional
Section: utils
Maintainer: Gunnar Wolf <gwolf@debian.org>
Installed-Size: 36,9 kB
Depends: libc6 (>= 2.4)
Tag: interface::commandline, role::program, scope::utility, use::organizing
 use::scanning
Download-Size: 11,3 kB
APT-Manual-Installed: yes
APT-Sources: http://ftp.de.debian.org/debian testing/main amd64 Packages
Description: 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

Aufruf

symlinks [ -cdorstv ] dirlist

Optionen

Option Beschreibung
-c konvertiert absolute Links (innerhalb desselben Dateisystems) in relative Links. Dies ermöglicht es, dass Links ihre Gültigkeit unabhängig vom Einhängepunkt des Dateisystems beibehalten - eine wünschenswerte Einstellung in den meisten Fällen. Diese Option bewirkt auch, dass unordentliche Links bereinigt werden, und, falls auch -s angegeben wurde, werden auch lange Links gekürzt. Links, die von -c betroffen sind, werden in der Ausgabe mit dem Präfix changed versehen
-d bewirkt, dass nicht mehr verwendete Verknüpfungen entfernt werden
-o Symlinks auf andere Dateisysteme reparieren, die beim Rekursieren gefunden wurden. Normalerweise werden andere Dateisysteme, die gefunden werden, nicht durch Symlinks verändert.
-r rekursiv auf Unterverzeichnisse innerhalb desselben Dateisystems angewendet werden
-s führt dazu, dass lange Links erkannt werden
-t wird verwendet, um zu testen, was symbolische Links tun würden, wenn -c angegeben wäre, ohne jedoch wirklich etwas zu ändern
-v Zeige alle symbolischen Links. Standardmäßig werden relative Links nur angezeigt, wenn -v angegeben wird.

Parameter

Parameter Beschreibung
dirlist Liste von Verzeichnissen

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
  1. SYMLINKS(1)
Info-Pages

Links

Projekt
Weblinks
  1. https://www.linux-community.de/ausgaben/linuxuser/2022/06/defekte-verlinkungen-aufspueren