ln

ln — создание жестких и символических ссылок

Программа ln создает запись в директории ( ссылку ) с именем, целевой_файл. На целевой_файл будут установлены те-же режимы, которые стоят на исходный_файл. Ссылки позволяют иметь несколько копий одного файла или каталога, размещенных в разных местах, но не занимая при этом дисковое пространство. Существует два типа ссылок, жесткие ссылки и символические ссылки. Каким образом ссылка указывает на исходный_файл, зависит от типа данной ссылки.

Команда ln имеет следующие опции:

-f
Если целевой_файл уже существует, удалить его , чтобы можно было создать ссылку. Данная опция отменяет опцию -i.
-F
Если целевой_файл уже существует и является директорией, удалить его, чтобы можно было создать ссылку. Опция -F используется вместе с опциями -f или -i, в случае, если ни одна из них не указана, подразумевается опция -f. Эта опция не работает без опции -s.
-h
Если целевой_файл или целевой_каталог является символической ссылкой, не следовать по ей. Данная опция полезна в сочетании с опцией -f для замены символической ссылки, которая указывает на каталог.
-i
Интерактивный режим. Если целевой_файл существует, пользователю будет выведен запрос на удаление В случае согласия, ln удалит целевой_файл и создаст новую ссылку. Данная опция отменяет действие опции -f.
-n
Аналог опции -h, для совместимости с другими реализациями программы ln.
-s
Создавать символическую ссылку.
-v
Режим вывода информации о ходе выполнения программы ln.

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

Символическая ссылка содержит имя файла, на который ссылается. При выполнении операции open(2) над символической ссылкой используется ориги нальный файл. Вызов stat(2), выполненный над символической ссылкой, также вернёт исходный файл. Для получения информации о ссылке можно использовать lstat(2). Для чтения содержимого символической ссылки можно воспользоваться вызовом readlink(2). В отличии от жестких ссылок, символические, могут находиться на другой файловой системе и могут указывать на каталоги.

С одним или двумя аргументами, программа ln создаёт ссылку на существующий исходный_файл. Имя для ссылки будет взято из аргумента целевой_файл. Если в аргументе целевой_файл, не указана директория для создания ссылки, будет использована текущая директория, если указан только каталог, будет создана ссылка на последний элемент из исходный_файл.

С более чем двумя аргументами, программа ln создаёт ссылки в целевой_каталог на все указанные пути в исходный_файл. Ссылки при этом получают имена исходных файлов.

Если программа ln, вызывается в форме link, ей передается ровно два аргумента, передаваемые аргументы не могут быть каталогами, кроме того, в данной форме
она не принимает никаких опций. Это простая форма использования.

Совместимость
Опции -h, -i, -n и -v, предназначены для совместимости с другими реализациями программы ln, и не рекомендуются для использование в скриптах.

Опция -F является дополнительной для ОС FreeBSD и не может быть использована в переносимых скриптах.