====== Команда 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