Можливо, вам не дуже потрібен сценарій. Щоб показати будь-які символічні посилання лише у поточній папці, не повторюючись у жодній дочірній папці:
знайти. -maxdepth 1 -тип l -принт
Або, щоб отримати додаткову інформацію, скористайтеся одним із:
знайти. -maxdepth 1 -тип l -exec ls -ld {} +
знайти. -maxdepth 1 -тип l -принт0 | xargs -0 ls -ld
Щоб сказати, чи є файл символічним посиланням, можна скористатися readlink
, що нічого не виведе, якщо це не символічне посилання. Наступний приклад не зовсім корисний, але показує, як readlink
ігнорує звичайні файли та папки. Скористайтеся одним із:
знайти. -maxdepth 1 -exec readlink {} +
знайти. -maxdepth 1 -принт0 | xargs -0 readlink
Зауважимо, що вищесказане -exec ... +
і xargs ...
набагато швидше, ніж -exec ... \;
. Подібно до:
time find / usr / bin -maxdepth 1 -тип l -exec ls -ld {} \;
реальні 0м0.372с
користувач 0m0.087s
sys 0m0.163s
час пошуку / usr / bin -maxdepth 1 -тип l -exec ls -ld {} +
реальні 0м0.013с
користувач 0m0.004s
sys 0m0.008s
час пошуку / usr / bin -maxdepth 1 -тип l -принт0 | xargs -0 ls -ld
реальні 0м0.012с
користувач 0m0.004s
sys 0m0.009s