dr.Brain

doctor Brain

мир глазами веб-разработчика

Командная строка: ln

создаем ссылки с помощью команды ln

dr.Brain

время чтения 2 мин.

Photo by Dawid Zawiła on Unsplash

Команда ln нужна для создания ссылок.

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

Есть два вида ссылок: жесткие (hard) и символьные (soft).

Жесткие ссылки

Жесткие ссылки используются довольно редко. Они связаны серьезными ограничениями:

  1. жесткая ссылка не может ссылаться на директорию,
  2. жесткая ссылка не может ссылаться на внешние файловые системы (диски).

Синтаксис создания жесткой ссылки:

ln <original> <link>

Где:

  • original - ссылка на оригинальный файл,
  • link - имя создаваемой жесткой ссылки на оригинальный файл.

Например, у нас есть оригинальный файл myfile.txt, и мы хотим создать жесткую ссылку на него mynewfile.txt:

ln myfile.txt mynewfile.txt

При вызове команды ls -al такая жесткая ссылка будет выглядеть как обычный файл. Фактически, жесткая ссылка является синонимом файла.

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

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

Символьные ссылки

Символьные ссылки (soft links, sym-links) являются более мощным и разнообразным инструментом. Они могут указывать на директории и другие файловые системы, обладая при этом собственными правами доступа.

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

Для создания символьной ссылки используется опция -s:

ln -s <original> <link>

Например:

ln -s myfile.txt mynewfile.txt

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


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.