Może naprawdę nie potrzebujesz skryptu. Aby wyświetlić dowolne dowiązania symboliczne tylko w bieżącym folderze, bez ponownego przechodzenia do dowolnego folderu podrzędnego:
odnaleźć . -maxdepth 1 -typ l -print
Lub, aby uzyskać więcej informacji, użyj jednego z:
odnaleźć . -maxdepth 1 -type l -exec ls -ld {} +
odnaleźć . -maxdepth 1 -type l -print0 | xargs -0 ls -ld
Aby stwierdzić, czy plik jest dowiązaniem symbolicznym, można użyć tego readlink
, który nic nie wyświetli, jeśli nie jest dowiązaniem symbolicznym. Poniższy przykład nie jest całkiem użyteczny, ale pokazuje, jak readlink
ignoruje normalne pliki i foldery. Użyj jednego z:
odnaleźć . -maxdepth 1 -exec readlink {} +
odnaleźć . -maxdepth 1 -print0 | xargs -0 readlink
Zauważ, że powyższe -exec ... +
i xargs ...
są znacznie szybsze niż -exec ... \;
. Lubić:
czas znajdź / usr / bin -maxdepth 1 -type l -exec ls -ld {} \;
prawdziwe 0m0,372s
użytkownik 0m0,087s
sys 0m0,163
czas znajdź / usr / bin -maxdepth 1 -type l -exec ls -ld {} +
prawdziwe 0m0,013s
użytkownik 0m0,004s
sys 0m0,008s
czas znajdź / usr / bin -maxdepth 1 -type l -print0 | xargs -0 ls -ld
prawdziwe 0m0.012s
użytkownik 0m0,004s
sys 0m0,009s