Логотип

Команда ln в Linux. Создание мягких и жестких ссылок

Команда ln в Linux. Создание мягких и жестких ссылок

Ссылка — это ссылка на другой файл. Ссылки дают одному и тому же файлу несколько имен и позволяют им жить в двух или более местах одновременно.

Есть два типа ссылок:

  • Мягкая ссылка или символическая ссылка: это просто ярлык к исходному файлу.
  • Жесткая ссылка: указывает на место в памяти исходного файла.

Жесткие и программные ссылки создаются с помощью команды ln.

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

 

Примеры команды ln

Синтаксис команды ln прост:

 ln [option] target_file link_name

 

Позвольте нам показать вам несколько примеров использования команды ln для создания ссылок в Linux.

 

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

 ln target_file link_name

 

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

 ln -s target_file link_name

 

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

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

Даже если ваш терминал не отображает мягкие ссылки другого цвета, вы можете идентифицировать ссылки таким образом.

Читать  Как настроить оболочку Bash с помощью команды shopt

 

Создание программной ссылки на каталог аналогично созданию символической ссылки на файл. Вам просто нужно заменить целевое имя файла / путь на имя каталога / путь.

 ln -s target_directory link_name

 

Вы заметите, что цвет мягкой ссылки и жесткой ссылки обычно различается в терминале Linux. Жесткая ссылка на каталог невозможна (обычно).

 

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

ln: failed to create symbolic link 'soft-link-to-file': File exists

 

Для этого команда ln имеет две опции:

  • -i: Интерактивный режим спросит вас, хотите ли вы перезаписать существующую ссылку.
  • -f: Принудительный режим просто обновляет существующую ссылку без какого-либо подтверждения.

Предположим, вы хотите принудительно обновить символическую ссылку. Вот что вы можете сделать:

ln -sf new_file existing_soft_link

 

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

 

Обычно, когда вы используете команду ls с опцией -l, она показывает файл, на который она указывает.

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

Чтобы найти исходный файл из цепочки ссылок, вы можете использовать readlink -f следующим способом:

readlink -f soft_link

 

Параметр -f означает «следовать», как в «следовать цепочке».

 

Теперь, когда вы знаете, как создавать ссылки, давайте вкратце, зачем нам ссылки? Какой практической цели они служат?

Читать  Проверьте количество аргументов в сценарии Bash

Там может быть несколько вариантов использования. Допустим, вы загрузили программное обеспечение, которое поставляется с его кодом и исполняемым файлом. Вы держите все это в /optкаталоге. Но чтобы запустить программу из любого места, вам нужно поместить ее исполняемый файл в каталог /usr/bin.

Если вы переместите исполняемый файл в этот каталог, он может не работать, поскольку ему необходим доступ к некоторому коду, и он не найдет путь к этим файлам из каталога /usr/bin. Здесь вы можете создать ссылку на этот исполняемый файл в каталоге /usr/bin.

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

Ссылки являются неотъемлемой частью Linux. Вы найдете их во многих местах в ваших системах. Просто посмотрите в каталог /lib, и вы увидите множество мягких ссылок.

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

Редактор: AndreyEx

Рейтинг: 4.4 (139 голосов)
Если статья понравилась, то поделитесь ей в социальных сетях:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

семь − пять =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала