Spowoduje to rekurencyjne przechodzenie przez /path/to/folder
katalog i wyświetlanie tylko dowiązań symbolicznych:
ls -lR /path/to/folder | grep ^l
Jeśli zamierzasz również podążać za dowiązaniami symbolicznymi, powinieneś użyć swojego find
polecenia, ale powinieneś dołączyć -L
opcję; w rzeczywistości find
strona man mówi:
-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.
Następnie spróbuj tego:
find -L /var/www/ -type l
Prawdopodobnie to zadziała: znalazłem na find
stronie podręcznika ten diament: jeśli używasz -type
opcji, musisz zmienić ją na -xtype
opcję:
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.
Następnie:
find -L /var/www/ -xtype l
find -L /var/www/ -xtype l
). Używanie-xtype
zamiast-type
powinno załatwić sprawę w twoim znalezisku. Powodzenia!ls -laR /path/to/folder | grep ^l
jeśli chcesz również przetwarzać „ukryte” foldery z kropkami ...-xtype
nie jest dostępny.find . -type l
wydaje się sprawdzać rekurencyjnie.Jedno polecenie, bez rur
Objaśnienie:
find
z bieżącego katalogu.
wszystkie odniesienia do-type l
atramentu i-ls
ich szczegółowe zestawienie . Prosty i prosty ...Rozwijając tę odpowiedź, oto kilka innych
find
poleceń związanych z dowiązaniem symbolicznym :Znajdź dowiązania symboliczne do określonego celu
Zauważ, że
link_target
jest to wzorzec, który może zawierać znaki wieloznaczne.Znajdź zepsute linki symboliczne
Ta
-L
opcja nakazujefind
podążać za dowiązaniami symbolicznymi, chyba że są uszkodzone.Znajdź i zamień zepsute linki symboliczne
Więcej znajdź przykłady
Więcej
find
przykładów można znaleźć tutaj: https://hamwaves.com/find/źródło
find
ma-ls
opcję. Takfind . -type l -ls
powinno być równoznaczne z powyższych.find -lname '*/dir/*' -printf '%P -> %l\n'
. Warto wspomnieć, że link_target jest wzorem.find
już domyślnie wygląda rekurencyjnie:źródło
find
rekursje te są domyślnie? Chyba nie;)-L
flagi do znalezienia bez powodzenia - jakieś zgadnięcia?Aby zobaczyć same dowiązania symboliczne, możesz użyć
podczas gdy jeśli chcesz zobaczyć, które pliki są celem, po prostu dodaj ls
źródło
To najlepsza rzecz, jaką do tej pory znalazłem - pokazuje dowiązania symboliczne w bieżącym katalogu, rekurencyjnie, ale bez ich śledzenia, wyświetlane z pełnymi ścieżkami i innymi informacjami:
dane wyjściowe wyglądają mniej więcej tak:
źródło
To, co robię, to tworzenie skryptu w katalogu bin, który jest jak alias. Na przykład mam skrypt o nazwie lsd ls -l | grep ^ d
możesz zrobić jeden lsl ls -lR | grep ^ l
Wystarczy chmod je + x i jesteś gotowy.
źródło