Лучшие методы поиска неработающих ссылок в Unix

Чтобы найти неработающие ссылки в Unix, можно использовать различные методы. Вот некоторые часто используемые подходы:

  1. Использование команды find с опцией -L:

    find /path/to/directory -type l -exec test ! -e {} \; -print

    Эта команда ищет символические ссылки (-тип l) в указанном каталоге и проверяет, существует ли связанный файл или каталог. Если связанный файл или каталог не существует, печатается неработающая символическая ссылка.

  2. Использование команды find с опцией -xtype:

    find /path/to/directory -xtype l

    Эта команда находит символические ссылки (-xtype l) в указанном каталоге и сообщает обо всех обнаруженных неработающих ссылках.

  3. Объединение find с командой readlink:

    find /path/to/directory -type l -exec readlink {} \; | grep "No such file or directory"

    Эта команда использует команду readlink для разрешения символических ссылок, а затем фильтрует выходные данные с помощью grep для выявления неработающих ссылок.

  4. Использование команды ls с опцией -L:

    ls -L /path/to/directory | grep "cannot access"

    Эта команда выводит список файлов и каталогов в указанном каталоге, следуя символическим ссылкам (-L), и использует grep для идентификации любых записей, к которым невозможно получить доступ из-за неработающих ссылок.

  5. Использование команды file с опцией -L:

    file -L /path/to/directory/* | grep "broken symbolic link"

    Эта команда проверяет состояние каждого файла в указанном каталоге по символическим ссылкам (-L) и использует grep для выявления неработающих символических ссылок.