Симлинки — это файлы, которые ссылаются непосредственно на другие файлы. В системах Linux символические ссылки служат ярлыками.
Термин «символическая ссылка» представляет собой сочетание слов «символический» и «ссылка», что подчеркивает полезность таких файлов в качестве символических ссылок на другие объекты.
Так называемые «жесткие» ссылки действуют скорее как копии файлов, на которые они ссылаются, чем как буквальные ссылки. «Мягкие» или символические ссылки просто указывают на свои цели. Удаление этих ссылок не влияет на файлы, на которые они указывают, и для удобства можно создать столько символических ссылок, сколько необходимо. Благодаря этому они отлично подходят для указания файлов как в файловых системах, так и в разделах.
Использование символических ссылок
Изменение базовой структуры файловой системы для более эффективной работы одного приложения было бы серьезной работой. Вместо этого символические ссылки часто используются для упрощения работы и создания искусственных иерархий файлов, на которые программы могут ссылаться, не затрагивая расположение исходных файлов.
Использование символических ссылок упрощает размещение различных программ, но также усложняет анализ файловой системы.
Читайте также: Contents
Использование символических ссылок
) в Windows">Как создать символические ссылки (символические ссылки) в WindowsПроблемы с символическими ссылками
Когда символические ссылки работают правильно, они указывают четкий путь к файлу, который действительно существует. Однако неработающие символические ссылки указывают на файлы, которые не существуют или были удалены. Эти символические ссылки создают путаницу как для пользователей, так и для программ, точность которых зависит от их точности.
Если файлы, на которые указывают символические ссылки, заменяются, сама ссылка продолжает указывать на новый файл, полностью игнорируя его содержимое. Эта функция слепой веры делает возможным создание цепочек ссылок и относительных ссылок.
Цепочка ссылок, в частности, может привести к циклическим ссылкам (циклам ссылок бесконечной длины), если ссылка ссылается на вторую ссылку, которая, в свою очередь, указывает обратно на первую.
Подобные загадки не обязательно возникают только благодаря вмешательству человека; неоптимальные стандарты монтажа устройств и некоторые автоматизированные процессы могут способствовать созданию так называемых «мертвых ссылок» в прискорбном изобилии. Именно здесь и пригодятся методы управления.
Управление символическими ссылками
В системах Linux имеется множество утилит для обработки символических ссылок. По умолчанию в coreutils включено значени
Проблемы с символическими ссылками
аких ссылок с терминала.Однако, чтобы полностью управлять символическими ссылками, вам необходимо уметь их быстро находить и анализировать. Простая опция командной строки, которую стоит рассмотреть для этой цели, имеет удачное название symlinks
.
Хотя в некоторых дистрибутивах Linux, таких как Fedora, этот инструмент установлен по умолчанию, в других, таких как Ubuntu, его нет. Чтобы установить «Симлинки» в Ubuntu, просто откройте окно терминала и введите следующее:
sudo apt install symlinks
Создание символических ссылок
Создать символические ссылки с вашего терминала в Linux легко. Введите следующий код, заменив «original-file.txt» на имя и расширение выбранного вами целевого файла, а затем измените «linkname» на то, что вы хотите.
ln -s original-file.txt linkname
Утилита ln
предназначена для создания ссылок, и она сделает это при ее запуске. -s
, включенный в приведенную выше команду, делает сгенерированную ссылку символической.
Относительные символические ссылки также можно создать, добавив -r
к той же команде следующим образом:
ln -rs original-file.txt linkname
Относительные ссылки остаются работоспособными независимо от изменений точек монтирования.
Поиск символических ссылок
Упомянутая выше утилита Symlinks предоставляет нам простой способ поиска символических ссы
Управление символическими ссылками
следующая: (Замените «имя_каталога» на полный путь к каталогу, в котором вы хотите выполнить поиск.)symlinks -v directory-name
Добавление r
к этой команде указывает Symlinks рекурсивно проверять файлы в указанном каталоге. Это выглядит следующим образом:
symlinks -rv directory-name
Будьте осторожны при использовании рекурсии, если вас беспокоят проблемы, возникающие с циклическими ссылками. Циклические ссылки — это ссылки, которые в конечном итоге ошибочно возвращаются к самим себе; они могут привести к зависанию утилиты Symlinks при попытке вернуться к их бесконечной структуре.
Нерекурсивная версия команды, показанная выше, просто покажет все существующие циклические ссылки как «висячие» или, другими словами, сломанные. Именно анализ, на который способен инструмент Symlinks, позволяет ему фактически исправлять такие неработающие ссылки.
Исправление символических ссылок
Исправить символические ссылки в данном каталоге с помощью Symlinks относительно просто. Вот команда, которую нужно использ