Команда ln - Позволяет создавать ссылки на файлы и каталоги.
Есть два основных типа создания ссылок - Жёсткие (hard link) и символические (symbolic link).
Жёсткая ссылка - Указывает на дескриптор inode для ещё одного и того же файла в пределах одной файловой системы и не может указывать на каталог.
Символическая ссылка - Указывает на другой индексный дескриптор inode и хранит только имя файла или каталога. Если удалить оригинальный файл, символическая ссылка останется и будет вести на несуществующий файл или каталог.
Создать жёсткую ссылку на файл:
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