Документация по LinuxLinuxDoc.Ru 🔍

ln - создание ссылок на файлы

НАЗВАНИЕ
ln - создание ссылок на файлы

СИНТАКСИС
ln [опции] источник [получатель]
ln [опции] источник... каталог

Опции POSIX: [-f] [--]

Опции GNU (краткая форма): [-bdfinsvF] [-S СУФФИКС] [-V
{numbered,existing,simple}] [--help] [--version] [--]

ОПИСАНИЕ
В Unix существует два вида ссылок: так называемые
"жесткие" и символьные ("мягкие"). Жесткая ссылка является
всего лишь именем какого-либо файла. (Таким образом, файл
может иметь несколько имен. Он будет удален с диска только
тогда, когда будет удалено последнее из его имен.
Количество имен, которые имеет файл, показывает команда
ls(1). Нет такого понятия, как "настоящее имя": все имена
имеют одинаковый статус. Обычно, но необязательно, все
имена файла находятся в файловой системе, которая также
содержит и его данные.)

Символьная ссылка (или symlink) полностью отличается от
"жесткой" ссылки: она является небольшим специальным
файлом, в котором указан путь к настоящему файлу. Таким
образом, символьная ссылка может указывать на файлы,
которые находятся в других файловых системах (например,
запущенных при помощи NFS с другой машины); она не
нуждается в наличии того файла, на который указывает.
Когда происходит попытка доступа к ссылке (с помощью
системных вызовов open(2) или stat(2)), ядро операционной
системы заменяет ссылку на тот путь, на который она
указывает. (Однако, команда rm(1) и системный вызов
unlink(2) удаляют саму ссылку, а не файл, на который она
указывает. Для чтения состояния символьной ссылки и имени
файла, на который она указывает, используются системные
вызовы lstat(2) и readlink(2). Для других системных
вызовов, которые зависят от разных операционных систем и
поэтому отличны друг от друга, можно использовать как саму
символьную ссылку, так и файл, на который она указывает.)

ln создает ссылки одного файла на другой. По умолчанию
создаются "жесткие" ссылки; символьные ссылки создаются
при указании опции -s.

Если задан только один файл, то на него делается
одноименная ссылка в текущем каталоге. (Эта возможность
является расширением GNU). В противном случае, если
последний аргумент является именем существующего каталога,
то ln создаст ссылки в этом каталоге на каждый файл
источников, с такими же именами (последний компонент
полного имени) как и у файлов источников. (Однако,
обратите внимание на опцию --no-dereference , описанную
ниже.) В противном случае, если задано два файла, то
создается ссылка с именем получатель для файла источник.
Если последний аргумент не является каталогом и задано
более двух аргументов, будет выведено сообщение об ошибке.

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

В существующих реализациях команда ln может создавать
"жесткую" ссылку на каталог, только если это делается
суперпользователем. POSIX запрещает системному вызову
link(2) и утилите ln создавать "жесткие" ссылки на
каталоги (но не запрещает создавать "жесткие" ссылки на
файлы, находящиеся в других файловых системах).

ОПЦИИ POSIX
-f Удаляет существующие файлы получатели.

-- Используется для обозначения конца списка опций.

ОПЦИИ GNU
-d, -F, --directory
Позволяет суперпользователю создавать "жесткие"
ссылки на каталоги.

-f, --force
Удаляет существующие файлы получатели. -i,
--interactive Запрашивает подтверждение удаления
файлов- получателей.

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

-s, --symbolic
Создает символьные ссылки вместо "жестких". Данная
опция будет вызывать сообщение об ошибке в тех
системах, которые не поддерживают символьные
ссылки.

-v, --verbose
Отображает имя каждого файла, перед тем как
создавать на него ссылку.

ОПЦИИ РЕЗЕРВНОГО КОПИРОВАНИЯ GNU
GNU-версии таких программ, как cp, mv, ln, install и patch
могут, если потребуется, создавать резервные копии файлов,
которые будут перезаписаны, изменены или уничтожены. При
желании резервные копии файлов создаются с помощью опции
-b. Опция -V отвечает за создание их имен. В случае,
если имя файла резервной копии создается с помощью
добавления суффикса к имени исходного файла, этот суффикс
указывается с помощью опции -S.

-b, --backup
Делает резервные копии файлов, которые будут
перезаписаны или удалены.

-S СУФФИКС, --suffix=СУФФИКС
Добавляет СУФФИКС к имени файла при создании его
резервной копии. Если данная опция не задана, то
суффикс можно также задать, используя переменную
окружения SIMPLE_BACKUP_SUFFIX. Если не задана ни
опция, ни переменная, то по умолчанию используется
суффикс "~".

-V МЕТОД, --version-control=МЕТОД
Определяет, как будут называться резервные копии
файлов. Аргумент МЕТОД может принимать значения
numbered (или t), existing (или nil) и never (или
simple). Если данная опция не задана, то будет
использовано значение переменной окружения VER-
SION_CONTROL. Если же не задано значение и этой
переменной, то по умолчанию типом резервного
копирования должен стать existing.

Данная опция соответствует переменной version-con-
trol в Emacs. Допустимыми значениями МЕТОДА
являются (допускаются однозначные сокращения):

t, numbered
(всегда делает нумерованные резервные копии
файлов);

nil, existing
(делает нумерованные резервные копии тех
файлов, которые уже их имеют, и простые
резервные копии остальных файлов);

never, simple
(всегда делает простые резервные копии
файлов).

СТАНДАРТНЫЕ ОПЦИИ GNU
--help Выводит подсказку на стандартный вывод и завершает
свою работу.

--version
Выводит информацию о версии программы на
стандартный вывод и завершает свою работу.

-- Служит для обозначения конца списка опций.

ОКРУЖЕНИЕ
Переменные LANG, LC_ALL, LC_CTYPE и LC_MESSAGES
используются обычным образом.

СООТВЕТСТВИЕ
Совместима с версией POSIX 1003.2. Однако, POSIX 1003.2
(1996) не описывает символьные ссылки. Символьные ссылки
были введены в BSD и до этого не встречались в System V
версии 3 (и более старых версий).

ЗАМЕЧАНИЯ
Данная страница описывает версию ln из пакета fileu-
tils-4.0; другие версии могут незначительно отличаться от
этой. Исправления и дополнения присылайте по адресу:
aeb@cwi.nl. Отчеты об ошибках в этой программе присылайте
по адресу: fileutils-bugs@gnu.ai.mit.edu.
Читать новости Linux в Telegram
Linux - ln - создание ссылок на файлы
Мы в соцсетях ✉