Автор (ы) | ATT Bell Laboratories |
---|---|
Разработчик (и) | Разное с открытым исходным кодом и коммерческие разработчики |
Первоначальный выпуск | 3 ноября 1971 г.; 48 лет назад (1971-11-03) |
Операционная система | Unix, Unix-like, IBM i |
Тип | Команда |
Лицензия | coreutils : GPLv3 + |
Команда ln
- это стандартная команда Unix утилита, используемая для создания жесткой ссылки или символической ссылка (символическая ссылка) на существующий файл или каталог. Использование жесткой ссылки позволяет связать несколько имен файлов с одним и тем же файлом, поскольку жесткая ссылка указывает на inode данного файла, данные который хранится на диске. С другой стороны, символические ссылки - это специальные файлы, которые ссылаются на другие файлы по name.
. Команда ln
по умолчанию создает жесткие ссылки, а при вызове из командной строки параметр ln -s
создает символические ссылки. Большинство операционных систем предотвращают создание жестких ссылок на каталоги, поскольку такая возможность может нарушить структуру файловой системы и помешать работе других утилит. Однако команду ln
можно использовать для создания символических ссылок на несуществующие файлы.
Появились в Выпуске 2 Руководства по переносимости X / Open. Версия ln
, входящая в состав GNU coreutils, была написана Майком Паркером и Дэвидом Маккензи. Команда ln также была перенесена в операционную систему IBM i.
Ссылки позволяют нескольким файлам ссылаться на один и тот же файл, как в случае жесткая ссылка или действует как указатель на имя файла, как в случае программной ссылки. Как жесткие, так и программные ссылки могут быть созданы с помощью команды ln
. В частности,
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 |
ln (1)
– Linux Команды пользователя Руководство ln (1)
– FreeBSD Общие команды Руководство ln (1)
– NetBSD Общие команды Руководство ln (1)
– OpenBSD Общие команды Руководство ln (1)
– Дарвин a nd macOS Общие команды Вручную