Этот быстрый совет научит вас различным способам поиска всех неработающих символических ссылок в командной строке Linux. Вы также научитесь управлять этими неработающими программными ссылками.
Недавно мы объяснили, как создать символическую ссылку в Linux. Символьные ссылки, символические ссылки или программные ссылки используются для создания ярлыков для других файлов в Linux. Символьные ссылки широко используются при компоновке библиотек в Linux.
Когда исходный файл, на который указывает ссылка, удаляется, ссылка становится висячей ссылкой. Хранение таких ссылок не может быть хорошей идеей.
Теперь возникает вопрос, как найти битые символические ссылки в Linux? В некоторых дистрибутивах битые ссылки отображаются разными цветами, но это не способ найти все такие битые ссылки.
Поиск неработающих символических ссылок в Linux
В этой статье мы покажем вам несколько способов поиска неработающим ссылок в Linux.
Способ 1. Используйте команду find, чтобы получить список всех неработающих символических ссылок.
Удивительная команда find также может быть использована для поиска неработающих программных ссылок. Более новые версии этой команды предоставляют специальную опцию для этой задачи.
Чтобы найти все висячие ссылки в текущем каталоге и его подкаталогах, вы можете использовать команду find следующим образом:
find . -xtype l
В ее выводе будут перечислены все битые ссылки:
find . -xtype l ./target_link2 ./newdir/new_dir/link_dir
Способ 2. Используйте команду symlinks для поиска неработающих символических ссылок
Вы также можете использовать команду symlinks с именем символические ссылки для обработки висячих ссылок.
Возможно, вам придется установить команду symlinks. Это доступно в Debian. Если вы используете Ubuntu, вам нужно включить репозиторий Universe.
sudo apt install symlinks
После установки вы можете использовать его следующим образом:
symlinks [options] path_to_directory
Итак, если вам нужно найти неработающие ссылки в текущем каталоге, вы можете использовать его следующим образом:
symlinks . dangling: /home/andreyex/books/target_link2 -> newdir/test_dir/myzip
Вы что-то заметили? В нем указана только одна неработающая ссылка, в то время как команда find имеет две неработающие ссылки. Это потому, что если вы хотите выполнять рекурсивный поиск, вам нужно будет указать опцию:
symlinks -r directory
Вы также можете удалить все неработающие ссылки с помощью опции -d команды symlinks.
symlinks -d . dangling: /home/andreyex/books/target_link2 -> newdir/test_dir/myzip deleted: /home/andreyex/books/target_link2 -> newdir/test_dir/myzip
Фактически, символические ссылки могут использоваться для правильного управления программными ссылками в вашей системе. Он может предупредить вас о ссылках в файловых системах, изменить грязные ссылки на относительные или сократить длинные ссылки.
В Linux может быть несколько способов выполнить задачу. Поиск сломанных символических ссылок – то же самое. Мы показали вам два пути, но могут быть и другие. Если у вас есть другая любимая команда для управления висячими ссылками, поделитесь ею с нами в разделе комментариев.