Dadurch wird das /path/to/folder
Verzeichnis rekursiv durchlaufen und nur die symbolischen Links aufgelistet:
ls -lR /path/to/folder | grep ^l
Wenn Sie auch den symbolischen Links folgen möchten, sollten Sie Ihren find
Befehl verwenden, aber die -L
Option einschließen . Tatsächlich heißt es auf der find
Manpage:
-L Follow symbolic links. When find examines or prints information
about files, the information used shall be taken from the prop‐
erties of the file to which the link points, not from the link
itself (unless it is a broken symbolic link or find is unable to
examine the file to which the link points). Use of this option
implies -noleaf. If you later use the -P option, -noleaf will
still be in effect. If -L is in effect and find discovers a
symbolic link to a subdirectory during its search, the subdirec‐
tory pointed to by the symbolic link will be searched.
When the -L option is in effect, the -type predicate will always
match against the type of the file that a symbolic link points
to rather than the link itself (unless the symbolic link is bro‐
ken). Using -L causes the -lname and -ilname predicates always
to return false.
Dann versuchen Sie Folgendes:
find -L /var/www/ -type l
Dies wird wahrscheinlich funktionieren: Ich habe in der find
Manpage diesen Diamanten gefunden: Wenn Sie die -type
Option verwenden, müssen Sie sie in die -xtype
Option ändern :
l symbolic link; this is never true if the -L option or the
-follow option is in effect, unless the symbolic link is
broken. If you want to search for symbolic links when -L
is in effect, use -xtype.
Dann:
find -L /var/www/ -xtype l
find -L /var/www/ -xtype l
). Verwenden-xtype
anstelle von-type
sollte den Trick in Ihrem Fund tun. Viel Glück!ls -laR /path/to/folder | grep ^l
wenn Sie auch "versteckte"-xtype
ist nicht verfügbar.find . -type l
scheint rekursiv zu prüfen.Ein Befehl, keine Rohre
Erläuterung:
find
Ab dem aktuellen Verzeichnis.
alle-type l
Tintenreferenzen und-ls
detaillierte Auflistung . Schlicht und einfach...Um diese Antwort zu erweitern, finden Sie hier einige weitere
find
Befehle im Zusammenhang mit symbolischen Links :Finden Sie symbolische Links zu einem bestimmten Ziel
Beachten Sie, dass dies
link_target
ein Muster ist, das Platzhalterzeichen enthalten kann.Finde kaputte symbolische Links
Die
-L
Option weist Siefind
an, symbolischen Links zu folgen, sofern diese nicht fehlerhaft sind.Suchen und ersetzen Sie defekte symbolische Links
Weitere Beispiele finden
Weitere
find
Beispiele finden Sie hier: https://hamwaves.com/find/quelle
find
eine-ls
Option haben. Sofind . -type l -ls
sollte das Äquivalent der oben genannten sein.find -lname '*/dir/*' -printf '%P -> %l\n'
. Erwähnenswert ist, dass link_target ein Muster ist.find
sieht standardmäßig schon rekursiv aus:quelle
find
die von Standard - Rekursion? Ich-L
Flagge für das Finden ohne Glück zu verwenden - irgendwelche Vermutungen?Um nur die Symlinks selbst zu sehen, können Sie verwenden
Wenn Sie auch sehen möchten, auf welche Dateien sie abzielen, fügen Sie einfach ein ls hinzu
quelle
Dies ist das Beste, was ich bisher gefunden habe - zeigt Ihnen die Symlinks im aktuellen Verzeichnis, rekursiv, aber ohne ihnen zu folgen, angezeigt mit vollständigen Pfaden und anderen Informationen:
Die Ausgaben sehen ungefähr so aus:
quelle
Ich erstelle ein Skript in meinem bin-Verzeichnis, das einem Alias ähnelt. Zum Beispiel habe ich ein Skript namens lsd ls -l | grep ^ d
Sie könnten eine lsl ls -lR | machen grep ^ l
Chmod sie einfach + x und du bist gut zu gehen.
quelle