Возможно, вам не нужен сценарий. Чтобы показать любые символические ссылки только в текущей папке, не возвращаясь ни в одну дочернюю папку:
находить . -maxdepth 1-type l -print
Или, чтобы получить больше информации, используйте один из:
находить . -maxdepth 1 -тип l -exec ls -ld {} +
находить . -maxdepth 1-type l -print0 | xargs -0 ls -ld
Чтобы определить, является ли файл символической ссылкой, можно использовать readlink
, которая ничего не выдаст, если это не символическая ссылка. Следующий пример не совсем полезен, но показывает, как readlink
игнорирует обычные файлы и папки. Используйте один из:
находить . -maxdepth 1 -exec readlink {} +
находить . -maxdepth 1 -print0 | xargs -0 readlink
Обратите внимание, что выше -exec ... +
и xargs ...
гораздо быстрее, чем -exec ... \;
. Подобно:
time find / usr / bin -maxdepth 1 -type l -exec ls -ld {} \;
реальный 0m0.372s
пользователь 0m0.087s
sys 0m0.163s
time find / usr / bin -maxdepth 1 -type l -exec ls -ld {} +
реальный 0m0.013s
пользователь 0m0.004s
sys 0m0.008s
время найти / usr / bin -maxdepth 1 -тип l -print0 | xargs -0 ls -ld
реальный 0m0.012s
пользователь 0m0.004s
sys 0m0.009s