LN(1)

ИМЯ
ln - создает ссылки на файлы

ОБЗОР
ln [ОПЦИЯ]... [-T] ФАЙЛ ССЫЛКА (1-ая форма)
ln [ОПЦИЯ]... ФАЙЛ (2-ая форма)
ln [ОПЦИЯ]... ФАЙЛ... КАТАЛОГ (3-я форма)
ln [ОПЦИЯ]... -t КАТАЛОГ ФАЙЛ... (4-ая форма)

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

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

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

По умолчанию ln не удаляет существующие файлы или существующие символические ссылки. (Таким образом, команда ln может быть использована для целей блокировки: она будет успешно срабатывать только если ССЫЛКА не существует.)

1-ая форма: создать ССЫЛКу на ФАЙЛ. 2-ая форма: создать в текущем каталоге ссылку на ФАЙЛ. 3-ая и 4-ая форма: создать в КАТАЛОГЕ ссылку на каждый ФАЙЛ. По умолчанию создаются жесткие ссылки, для создания символических ссылок следует задать опцию --symbolic. По умолчанию в каталоге, куда будет помещена любая новая ссылка, не должно быть файла с таким же именем. При создании жестких ссылок каждый указанный ФАЙЛ должен существовать. Символические ссылки могут содержать относительный путь; при переходе по символической ссылке относительный путь интерпретируется по отношению к своему родительскому каталогу.

Аргументы, обязательные для длинных опций, обязательны и для коротких опций.

--backup[=МЕТОД]
    делать резервную копию каждого существующего целевого файла

-b  делать тоже, что при --backup, но не принимать аргумент (эквивалентно использованию --backup=existing)

-d, -F, --directory
    позволить суперпользователю делать жесткие ссылки на каталоги (примечание: из-за системных ограничений может не исполняться, даже для суперпользователя)

-f, --force
    удалять существующие целевые файлы

-i, --interactive
    запрпрашивать подтверждение удаления указанных файлов

-L, --logical
    разименовывать ФАЙЛы, которые являются символическими ссылками (если опция -s не действует и ФАЙЛ является символической ссылкой, то создавать жесткую ссылку на тот файл, на который ссылается символическая ссылка, а не на саму символическую ссылку)

-n, --no-dereference
    считать ССЫЛКу обычным файлом, если явно заданный параметр ССЫЛКА является символической ссылкой на каталог. Когда целевой файл является каталогом, а не символической ссылкой на него, неоднозначностей не возникает. Ссылка создается в этом каталоге. Но когда целевой файл является символической ссылкой на каталог, то возможны две трактовки запроса пользователя. ln может считать ССЫЛКу обычным каталогом и создавать ссылку внутри него. С другой стороны, целевой файл может рассматриваться не как каталог, а как собственно ссылка. В этом случае ln должна ее удалить или сделать резервную копию перед созданием новой ссылки. По умолчанию символическа ссылка на каталог считается обычным каталогом. Этот параметр слабее, чем параметр --no-target-directory (-T), поэтому он не имеет никакого эффекта, если заданы оба параметра.

-P, --physical
    делать жесткие ссылки непосредственно на символические ссылки. Если опция -s не действует и исходный файл является символической ссылкой, то создается жесткая ссылка на саму символическую ссылку. На платформах, где это не поддерживается ядром, эта опция создает символическую ссылку с идентичным содержимым; поскольку содержимое символической ссылки не может быть отредактировано, любое разрешение имени файла, выполненное через любую ссылку, будет таким же, как если бы была создана жесткая ссылка.

-r, --relative
    создавать символические ссылки относительно расположения ссылки. Например: ln -srv /a/file /tmp '/tmp/file' -> '../a/file' Относительные символические ссылки генерируются на основе содержащих их установленных каталогов и установленных файлов. Т.е. все символические ссылки в относительных именах этих файлов будут разрешены. Например: ln--relative() {
      test "$1" = --no-symlinks && { nosym=$1; shift; }

      target="$1";

      test -d "$2" && link="$2/." || link="$2"

      rtarget="$(realpath $nosym -m "$target"
                  --relative-to "$(dirname "$link")")"

      ln -s -v "$rtarget" "$link"

    }

-s, --symbolic
    делать символические ссылки вместо жестких ссылок

-S, --suffix=СУФФИКС
    переопределить обычный СУФФИКС при резервном копировании

-t, --target-directory=КАТАЛОГ
    установить КАТАЛОГ для созданных ссылок

-T, --no-target-directory
    всегда обрабатывать ССЫЛКу как обычный файл

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

--help
    выдать подсказку на стандартный вывод и успешно завершиться

--version
    выдать информацию о версии на стандартный вывод и успешно завершиться

Если не задана ни опция --suffix, ни переменная SIMPLE_BACKUP_SUFFIX , то по умолчанию используется суффикс ~. МЕТОД контроля версий при резервном копировании устанавливается или через опцию --backup или через переменную окружения VERSION_CONTROL. Допустимыми методами являются:

none, off
    никогда не делать резервное копирование (даже если опция --backup задана)

numbered, t
    делать нумерованные резервные копии

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

simple, never
    всегда делать простые резервные копии. Пожалуйста, не путайте ‘never’ с ‘none’.

Если задана опция -s, то игнорируются опции -L и -P. В противном случае, если ФАЙЛ является символической ссылкой, то последняя опция является управляющей, по умолчанию действует -P.

АВТОР
Написано Mike Parker и David MacKenzie. David MacKenzie и Jim Meyering

ИНФОРМАЦИЯ ОБ ОШИБКАХ
GNU coreutils помощь онлайн: <http://www.gnu.org/software/coreutils/>
Сообщить об ошибках перевода : <http://translationproject.org/team/>

АВТОРСКИЕ ПРАВА
Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
Свободное программное обеспечение: можно свободно изменять и распространять его. БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, в той мере, в какой это разрешено законом.

СМОТРИ ТАКЖЕ
link(2), symlink(2)

Полная документация на: <http://www.gnu.org/software/coreutils/ln>
или доступна локально через: info '(coreutils) chown invocation'

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003

АстраЛинукс апрель 2020 - перевод LN "1" "February 2017" "GNU coreutils 8.26"