ln ( Unix) - ln (Unix)

редактировать
ln
Diferencias entre enlaces duros y enlaces simbólicos en ambiente GNU Linux.jpg
Автор (ы) ATT Bell Laboratories
Разработчик (и) Разное с открытым исходным кодом и коммерческие разработчики
Первоначальный выпуск3 ноября 1971 г.; 48 лет назад (1971-11-03)
Операционная система Unix, Unix-like, IBM i
Тип Команда
Лицензия coreutils : GPLv3 +

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

. Команда lnпо умолчанию создает жесткие ссылки, а при вызове из командной строки параметр ln -sсоздает символические ссылки. Большинство операционных систем предотвращают создание жестких ссылок на каталоги, поскольку такая возможность может нарушить структуру файловой системы и помешать работе других утилит. Однако команду lnможно использовать для создания символических ссылок на несуществующие файлы.

Содержание
  • 1 История
  • 2 Ссылки
  • 3 Спецификация
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
История

Появились в Выпуске 2 Руководства по переносимости X / Open. Версия ln, входящая в состав GNU coreutils, была написана Майком Паркером и Дэвидом Маккензи. Команда ln также была перенесена в операционную систему IBM i.

Ссылки

Ссылки позволяют нескольким файлам ссылаться на один и тот же файл, как в случае жесткая ссылка или действует как указатель на имя файла, как в случае программной ссылки. Как жесткие, так и программные ссылки могут быть созданы с помощью команды ln. В частности,

  1. Жесткие ссылки, также известные как ссылки, представляют собой объекты, которые связывают имя файла с индексом inode и, следовательно, с самим содержимым файла. Данный файл на диске может иметь несколько ссылок, разбросанных по иерархии каталогов , причем все ссылки эквивалентны, поскольку все они связаны с одним и тем же индексом inode. Таким образом, создание ссылки не копирует содержимое файла, а просто приводит к тому, что другое имя ассоциируется с тем же содержимым. Каждый раз, когда создается жесткая ссылка, увеличивается счетчик ссылок , который является частью структуры inode ; файл не удаляется, пока его счетчик ссылок не достигнет нуля. Однако жесткие ссылки можно создавать только в той же файловой системе ; это может оказаться недостатком.
  2. Символьные ссылки - это специальные файлы, которые при обнаружении во время разрешения имени пути изменяют разрешение имени пути, чтобы попасть в то место, которое содержит символическая ссылка. Таким образом, содержимое символической ссылки является строкой назначения path, которую также можно проверить с помощью утилиты командной строки readlink. Символьная ссылка может содержать произвольную строку, которая не относится к местоположению существующего файла. Такая символическая ссылка не будет работать до тех пор, пока файл не будет создан в том месте, которое содержится в символической ссылке. Напротив, символическая ссылка на существующий файл не будет работать, если существующий файл будет перемещен в другое место (или переименован).
Спецификация

Утилита lnв системах, совместимых с Единая спецификация Unix указана в документе Shell and Utilities (XCU), который является частью единой спецификации Unix. В основном идентичный документ является частью POSIX.

. В спецификации описаны два способа вызова утилиты ln. В частности,

при вызове «одного файла» утилита lnсоздает новую жесткую ссылку (запись в каталоге) для исходного файла, указанного операндом исходный_файл, в указанном пути назначения операндом target_file. Однако, если указана опция -s, создается символическая ссылка.
ln [-fs] [-L | -P] исходный_файл целевой_файл
При вызове "нескольких файлов" Утилита lnсоздает новую жесткую ссылку (запись в каталоге ) или, если указан параметр -s, символическую ссылку для каждого файла, указанного в исходный_файлоперанд по пути назначения в существующем каталоге, названном операндом целевой_директор.
ln [-fs] [-L | -P] исходный_файл_1 исходный_файл_2... целевой_директ

Также в спецификации определяет параметры командной строки, которые должны поддерживаться:

-fПринудительно удалить существующие пути назначения, чтобы разрешить ссылку.
-LДля каждого операнда исходный_файл, который именует файл, который является символической ссылкой, создайте жесткая ссылка на файл, на который ссылается символическая ссылка.
-PДля каждого операнда исходный_файл, который называет файл, который является символической ссылкой, создайте (жесткую) ссылку на саму символическую ссылку.
-sСоздать символические ссылки вместо жестких. Если указана опция -s, опции -L и -P игнорируются.
Если несколько взаимоисключающих опций -Lи -Pуказывается последняя указанная опция, определяющая поведение утилиты.
Если опция -sне указана и нет ни -L, ни -P, реализация определяет, какой из параметров -Lи -Pбудет использоваться по умолчанию.

Если ни целевой файл, ни целевой каталог, ссылки будут созданы в текущем рабочем каталоге.

См. также
Ссылки
Внешние ссылки
Викибуке Руководство по Unix есть страница по теме: Утилиты файловой системы - ln
Последняя правка сделана 2021-05-28 04:54:50
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте