====== Команда 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|команду 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]]:
rm test1.txt
rm test2.txt