Команда ln в дистрибутивах Linux используется для создания ссылок на файлы или директории. Эта команда может быть полезна, когда вам нужно создать ссылку на файл или директорию в другом месте в файловой системе. Таким образом, вы избежите необходимости создавать дубликаты файлов или переносить их в другие директории. Помимо этого, можно создать несколько ссылок командой ln на один и тот же файл или директорию, чтобы иметь к нему доступ из разных мест в файловой системе.
Существует два вида ссылок которые можно создать командой ln – жесткие и символические ссылки. Жесткие ссылки работают только в пределах одной файловой системы. А также, жесткая ссылка не может указывать на директорию. В то время как символические ссылки могут указывать на файлы и директории, расположенные как в пределах, так и за пределами одной файловой системы. Это делает их более гибкими по сравнению с жесткими ссылками.
Команда ln – Жесткие ссылки
Теперь давайте рассмотрим как работать с командой ln для создания ссылок. Для создания жесткой ссылки пишется команда ln, затем указываем исходный файл, на который необходимо создать ссылку, после чего указывается имя самой ссылки. То есть, предположим, file1 – это исходный файл, а file2 – имя новой ссылки, название может быть любым. В качестве примера создадим командой ln ссылку на рабочем столе:
ln file1 ~/"Рабочий стол"/file2
Обратите внимания на то, что рабочий стол указан в кавычках, это необходимо так как в названии директории иметься проблем. В случае, если в названии директории пробел отсутствует, то заключать в кавычки нет необходимости:

Вы можете создать ссылки на несколько файлов, используя команду ln. Например, чтобы создать ссылки на все файлы в директории которые начинаются с буквы “f”, вы можете использовать следующую команду:
ln f* ~/"Рабочий стол"/
Обратите внимания, что используется так называемый шаблон, после первой буквы указывается знак звездочки. Это означает что на все файлы в которых присутствует в начале имени буква “f” будет создана жесткая ссылка.
Команда ln – Символические ссылки
Теперь давайте рассмотрим как создаются символические ссылки. Для создания символической ссылки в команде ln указывается опция “-s”. Подробнее про сами опции будет написано далее. Напомню, что при создании символических ссылок можно использовать и директории. К примеру, создадим командой ln символьную ссылку на директорию “Документы” на рабочем столе системы:
ln -s ~/Документы ~/"Рабочий стол"

В случае, если вы попробуете создать символическую ссылку для несуществующего файла или директории, то при попытке использовать эту ссылку будет получена ошибка “No such file or directory”.
Вы можете использовать команду ls -li для просмотра информации о ссылках. Переходим на рабочий стол и смотрим информацию, символические ссылки будут отличаться знаком “->”, который указывает куда исходит ссылка:

Опции команды ln
Как принято в дистрибутивах Linux, у команды ln также имеются опции, которые облегчают работу с ней. Синтаксис команды ln выглядит следующим образом:
ln [опции] исходный_файл/директория ссылка
Опции могут включать в себя:
- s: создать символическую ссылку (также называемую “мягкой” ссылкой)
- f: удалять существующую ссылку перед созданием новой
- i: запрашивать подтверждение перед заменой существующей ссылки
- n: создавать жесткую ссылку вместо символической
Ниже будут представлены некоторые примеры использования команды ln:
Создание символической ссылки на файл:
ln -s /Директория/файл /Директория
Создание символической ссылки на директорию, где Директория1 – это та, на которую собираемся создать ссылку, а Директория2 – расположение этой ссылки:
ln -s /Директория1 /Директория2
Создание ссылки на родительскую директорию, которая представлена в виде двух точек (..):
ln -s .. /Директория2
Если вы пытаетесь создать ссылку на файл или директорию, а ссылка с таким именем уже существует, вы получите сообщение об ошибке. Однако вы можете использовать опцию -f, чтобы принудительно заменить существующую ссылку. Для примера возьмет те же директории, что и ранее:
ln -sf ~/Документы ~/"Рабочий стол"
Эта опция удалит существующую ссылку, если она существует, и заменит ее новой ссылкой.

Для получения запроса на подтверждение перед заменой существующей ссылки, можно использовать опцию -i:
ln -is ~/Документы ~/"Рабочий стол"

Что бы узнать о всех возможных опциях доступных для команды ln, необходимо выполнить команду:
ln --help

Заключение
Команда ln очень полезна при работе в Linux, и может существенно упростить работу с файлами и директориями. Сами же ссылки, создаваемые командой ln, легче всего сравнить с ярлыками на рабочем столе.
Разумеется, в дистрибутивах Linux с графическим окружением прибегать к созданию ссылок командой ln особой необходимости нет, хотя и не исключена и такая необходимость. Но в случае, когда работа выполняется на сервере, где нет графического окружения, команда ln может стать не заменимой.
Помимо всего прочего, в данной статье упоминалась команда ls, о которой подробно написано тут. Так же полезно будет прочитать про команду cd, о которой написано тут.
А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на рассылку журнала в pdf формате, а так же на социальные сети журнала Cyber-X:
По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.