7

Как вы можете найти все символические ссылки на данный файл / каталог?

Этот предыдущий вопрос касается только жестких ссылок (если я правильно прочитал).

1 ответ1

5

Используйте find /dir -lname /link/target . Он ищет содержимое ссылки с шаблоном оболочки; например, вы можете использовать * и? подстановочные знаки в целевой спецификации.

Недостатком этого метода является то, что он ищет содержимое ссылок, а не их расширенные пути, поэтому, если вам нужно найти относительные ссылки на абсолютные пути (например, если существует более одного файла с одинаковым именем), вам нужен более сложный скрипт.

Также вы можете использовать другое приложение: find -L /dir -samefile /link/target . Это приводит к find разыменования символических ссылок и после проверки разыменованного пути, который расширяется операционной системой, чтобы он был таким же, как предоставленный, поэтому как относительные, так и абсолютные ссылки будут обрабатываться Linux. Это решает проблему предыдущего метода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .