Команда Ln в Linux (создание символических ссылок)

Символическая ссылка, также известная как символическая ссылка или программная ссылка, представляет собой файл особого типа, который указывает на другой файл или каталог.

В этом руководстве мы расскажем, как использовать команду ln для создания символических ссылок.

Типы ссылок

В системах Linux / UNIX есть два типа ссылок:

  • Жесткие ссылки . Вы можете рассматривать жесткую ссылку как дополнительное имя для существующего файла. Жесткие ссылки связывают два или более имен файлов с одним и тем же индексом . Вы можете создать одну или несколько жестких ссылок для одного файла. Невозможно создать жесткие ссылки для каталогов и файлов в другой файловой системе или разделе.
  • Мягкие ссылки . Программная ссылка — это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог в другой файловой системе или разделе.

Как использовать команду ln

ln — это утилита командной строки для создания ссылок между файлами. По умолчанию команда ln создает жесткие ссылки. Чтобы создать символическую ссылку, используйте параметр -s ( --symbolic ).

Синтаксис команды ln для создания символических ссылок следующий:

ln -s [OPTIONS] FILE LINK
  • Если заданы и FILE и LINK , ln создаст ссылку из файла, указанного в качестве первого аргумента ( FILE ), на файл, указанный в качестве второго аргумента ( LINK ).
  • Если в качестве аргумента указан только один файл или вторым аргументом является точка ( . ), ln создаст ссылку на этот файл в текущем рабочем каталоге . Имя символической ссылки будет таким же, как имя файла, на который она указывает.

По умолчанию в случае успеха ln не производит никакого вывода и возвращает ноль.

Создание символической ссылки к файлу

Чтобы создать символическую ссылку на данный файл, откройте терминал и введите:

ln -s source_file symbolic_link

Замените source_file именем существующего файла, для которого вы хотите создать символическую ссылку, а symbolic_link — именем символической ссылки.

Параметр symbolic_link необязательный. Если вы не укажете символическую ссылку, команда ln создаст новую ссылку в вашем текущем каталоге:

В следующем примере мы создаем символическую ссылку my_link.txt на файл my_file.txt :

ln -s my_file.txt my_link.txt

Чтобы убедиться, что символическая ссылка была успешно создана, используйте команду ls :

ls -l my_link.txt

Результат будет выглядеть примерно так:

lrwxrwxrwx 1 linuxize users  4 Nov  2 23:03  my_link.txt -> my_file.txt

Символ l — это флаг типа файла, представляющий символическую ссылку. Символ -> показывает файл, на который указывает символическая ссылка.

Создание символических ссылок на каталог

Команда для создания символической ссылки на каталог такая же, как и при создании символической ссылки на файл. Укажите имя каталога в качестве первого параметра и символическую ссылку в качестве второго параметра.

Например, если вы хотите создать символическую ссылку из /mnt/my_drive/movies каталог ~/my_movies вы должны запустить:

ln -s /mnt/my_drive/movies ~/my_movies

Замена символических ссылок

Если вы попытаетесь создать уже существующую символическую ссылку , команда ln выведет сообщение об ошибке.

ln -s my_file.txt my_link.txt
ln: failed to create symbolic link 'my_link.txt': File exists

Чтобы перезаписать путь назначения символической ссылки, используйте параметр -f ( --force ).

ln -sf my_file.txt my_link.txt

Удаление символических ссылок

Чтобы удалить / удалить символические ссылки, используйте команду unlink или rm .

Синтаксис unlink очень прост:

unlink symlink_to_remove

Удаление символической ссылки с помощью команды rm такое же, как и при удалении файла:

rm symlink_to_remove

Независимо от того , какой команды вы используете, при удалении символической ссылки не добавляет / слэша в конце его названия.

Если вы удалите или переместите исходный файл в другое место, символический файл останется висящим (сломанным), и его следует удалить.

Выводы

Чтобы создать символическую ссылку в Linux, используйте команду ln с параметром -s .

Для получения дополнительной информации о команде ln посетите страницу руководства ln или введите man ln в терминале.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Оставьте комментарий