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 readlinkignoruje 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