Этот быстрый совет научит вас различным способам поиска всех неработающих символических ссылок в командной строке Linux. Вы также научитесь управлять этими неработающими программными ссылками.
Недавно мы объяснили, как создать символическую ссылку в Linux. Символьные ссылки, символические ссылки или программные ссылки используются для создания ярлыков для других файлов в Linux. Символьные ссылки широко используются при компоновке библиотек в Linux.
Когда исходный файл, на который указывает ссылка, удаляется, ссылка становится висячей ссылкой. Хранение таких ссылок не может быть хорошей идеей.
Теперь возникает вопрос, как найти битые символические ссылки в Linux? В некоторых дистрибутивах битые ссылки отображаются разными цветами, но это не способ найти все такие битые ссылки.
В этой статье мы покажем вам несколько способов поиска неработающим ссылок в Linux.
Удивительная команда find также может быть использована для поиска неработающих программных ссылок. Более новые версии этой команды предоставляют специальную опцию для этой задачи.
Чтобы найти все висячие ссылки в текущем каталоге и его подкаталогах, вы можете использовать команду find следующим образом:
find . -xtype l
В ее выводе будут перечислены все битые ссылки:
find . -xtype l ./target_link2 ./newdir/new_dir/link_dir
Вы также можете использовать команду 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 может быть несколько способов выполнить задачу. Поиск сломанных символических ссылок – то же самое. Мы показали вам два пути, но могут быть и другие. Если у вас есть другая любимая команда для управления висячими ссылками, поделитесь ею с нами в разделе комментариев.