Чтобы найти неработающие ссылки в Unix, можно использовать различные методы. Вот некоторые часто используемые подходы:
-
Использование команды find с опцией -L:
find /path/to/directory -type l -exec test ! -e {} \; -printЭта команда ищет символические ссылки (-тип l) в указанном каталоге и проверяет, существует ли связанный файл или каталог. Если связанный файл или каталог не существует, печатается неработающая символическая ссылка.
-
Использование команды find с опцией -xtype:
find /path/to/directory -xtype lЭта команда находит символические ссылки (-xtype l) в указанном каталоге и сообщает обо всех обнаруженных неработающих ссылках.
-
Объединение find с командой readlink:
find /path/to/directory -type l -exec readlink {} \; | grep "No such file or directory"Эта команда использует команду readlink для разрешения символических ссылок, а затем фильтрует выходные данные с помощью grep для выявления неработающих ссылок.
-
Использование команды ls с опцией -L:
ls -L /path/to/directory | grep "cannot access"Эта команда выводит список файлов и каталогов в указанном каталоге, следуя символическим ссылкам (-L), и использует grep для идентификации любых записей, к которым невозможно получить доступ из-за неработающих ссылок.
-
Использование команды file с опцией -L:
file -L /path/to/directory/* | grep "broken symbolic link"Эта команда проверяет состояние каждого файла в указанном каталоге по символическим ссылкам (-L) и использует grep для выявления неработающих символических ссылок.