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