Symlink, также известная как символическая ссылка в Linux, создает ссылку на файл или каталог для облегчения доступа. Другими словами, символические ссылки — это ссылки, указывающие на другой файл или папку в вашей системе, очень похожие на ярлыки в Windows. Некоторые пользователи называют символические ссылки софт-ссылками. Прежде чем двигаться дальше, давайте подробно рассмотрим программные и жесткие ссылки.
Жесткие ссылки: Жесткие ссылки — это ссылки, которые отражают или копируют исходный файл. Жесткие ссылки имеют одинаковые номера inode.
Программные ссылки: Мягкие ссылки — это простые ссылки, указывающие на исходный файл. Вы можете получить доступ к исходному файлу с помощью программных ссылок. Программные ссылки могут указывать на файл или папку в любом разделе и иметь разные номера inode.
Изучение создания символической ссылки в Linux — отличный способ улучшить работу с терминалом Linux. Итак, давайте изучим шаги, необходимые для создания программных ссылок в Linux.
Чтобы создать символическую ссылку или мягкую ссылку, мы используем команду ln. Ниже приведен синтаксис для создания символической ссылки:
$ ln -s [path of the target file/directory] [symbolic name]
В первом аргументе после опции «-s» вы укажете путь к файлу папки, для которой вы хотите создать символическую ссылку. Во втором аргументе передайте имя, которое вы хотите присвоить этой символической ссылке. Чтобы проверить созданные ссылки, используйте следующую команду:
$ ls -l
Чтобы проверить номера inode, используйте команду, указанную ниже:
$ ls -i
Создать мягкую ссылку на файл просто; используйте синтаксис, указанный ниже:
$ ln -s [path of the target file] [символическое имя]
Важно отметить, что если вы не укажете «[символическое имя]», то команда создаст символическую ссылку по имени исходного файла. Давайте разберемся в этом на примере.
Мы создали каталог «my_folder», содержащий текстовый файл «my_doc.txt». Теперь, чтобы создать символическую ссылку на файл «my_doc.txt», мы будем использовать:
$ ln -s my_folder/my_doc.txt my_document
Чтобы проверить это, используйте:
$ ls -l
Как видно из вышеприведенного вывода, «my_document» указывает на файл «my_folder/my_doc.txt». И символическая ссылка, и исходный файл будут иметь разные номера inode. Чтобы проверить используемые номера inode:
$ ls -i
Жесткие ссылки всегда будут иметь одинаковые номера inode. Для проверки мы создали жесткую ссылку на файл «my_doc.txt» и назвал его «my_document_2»:
Из вывода видно, что исходный файл и жесткая ссылка имеют одинаковые номера inode.
Создание мягкой ссылки или символической ссылки на каталог очень похоже на создание символической ссылки на файл. Например, мы создаем символическую ссылку на каталог «my_folder», используя:
$ ln -s my_folder my_doc_folder
Приведенная выше команда создаст папку с символической ссылкой в текущем каталоге. Чтобы проверить это, используйте:
$ ls -l
Теперь проверьте номера inode:
$ ls -i
Если вы попытаетесь обновить символическую ссылку с тем же именем, которое уже существует, вы получите сообщение об ошибке:
$ ln -s my_folder_2/my_doc_2.txt my_document
Нам нужно будет использовать принудительный флаг «-f», чтобы перезаписать новый путь к существующей символической ссылке.
$ ln -sf my_folder_2/my_doc_2.txt my_document
Во многих случаях вам необходимо удалить ненужные символические ссылки из вашей системы. Чтобы удалить символическую ссылку, мы используем команду «unlink», синтаксис которой приведен ниже:
$ unlink [symlink name]
Давайте удалим символические ссылки, которые мы создали в приведенных выше примерах. Чтобы отключить символическую ссылку файла, используйте:
$ unlink my_document
И чтобы отключить символическую ссылку каталога:
$ unlink my_doc_folder
Мы также можем использовать команду «rm» для удаления символических ссылок.
$ rm my_document my_doc_folder
Преимущество «rm» перед «unlink» состоит в том, что вы можете удалить несколько символических ссылок с помощью команды «rm», что невозможно с помощью команды «unlink».
Обратите внимание, что независимо от того, используете ли вы команду «unlink» или «rm», не используйте завершающую косую черту «/», даже если это каталог.
Символические ссылки — это более простой способ получить доступ к файлам вашей системы из разных мест. Эта статья представляет собой подробное руководство по созданию символических ссылок на файл или каталог и их удалению. Удалите символические ссылки, если исходный файл больше не существует.
Понимание и освоение терминала Linux очень важно для любого новичка. Мы надеемся, что этот пост помог вам изучить новую утилиту и улучшить свои навыки.