Инструменты пользователя

Инструменты сайта


linux:commands:ln

Это старая версия документа!


Команда ln


О команде ln

Команда ln - Позволяет создавать ссылки на файлы и каталоги.

Есть два основных типа создания ссылок - Жёсткие (hard link) и символические (symbolic link).

Жёсткая ссылка - Это дополнительное имя для уже существующего файла в файловой системе. В отличие от символических ссылок, жёсткая ссылка не является отдельным файлом - это запись в каталоге, которая указывает на тот же индексный дескриптор (inode) файла.

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

Опции ln

  • –help - Вывести справочную информацию по команде
  • –version - Вывести информацию о версии ln
  • -s - Создавать символьную ссылку
  • -v - Вывести сообщение о создании ссылки

Использование ln

Создать жёсткую ссылку на файл:

ln test.txt test1.txt

Создать жёсткую ссылку на файл в указанный каталог:

ln archive.zip /home/kirill/archive.zip

Создать символическую ссылку на файл, используем опцию -s:

ln -s test.txt test2.txt

Создать символическую ссылку на каталог, используем опцию -s:

ln -s /var/www /home/kirill/www_ln

Чтобы посмотреть созданные ссылки, используем команду ls с опциями -li:

ls -li

Вывод в терминале:

783414 -rw-r--r-- 2 kirill kirill    0 янв  5 17:53 test1.txt
783415 lrwxrwxrwx 1 kirill kirill    8 янв  5 17:57 test2.txt -> test.txt
783414 -rw-r--r-- 2 kirill kirill    0 янв  5 17:53 test.txt

Видим, что файл test.txt и файл test1.txt имеют один и тот же номер индексного дескриптора. А файл test2.txt имеет другой номер индексного дескриптора.

Создать жёсткую ссылку и вывести сообщение о её создании, используем опцию -v:

ln -v test.txt test1.txt

Вывод в терминале:

'test1.txt' => 'test.txt'

Создать символическую ссылку и вывести сообщение о её создании, используем опции -sv:

ln -sv test.txt test2.txt

Вывод в терминале:

'test2.txt' -> 'test.txt'

Удалить жёсткие и символические ссылки можно командой rm:

rm test1.txt
rm test2.txt
linux/commands/ln.1767611952.txt.gz · Последнее изменение: Кирилл