ln

Создание ссылок (псевдонимов) для файлов (POSIX)

Синтаксис:

ln [-f|-i] [-Psv] исходный_файл конечный_файл


ln [-f|-i] [-Psv] исходный_файл... результ_каталог

Поддерживаемые платформы:

QNX Neutrino, Microsoft Windows

Опции:

-f

Принудительно удалять результирующие путевые имена перед созданием ссылки; не запрашивать подтверждение.

-i

(Расширение QNX Neutrino.) Выполнить в интерактивном режиме; отправить приглашение в стандартный поток ошибок с запросом подтверждения для каждой ссылки, перезаписывающей существующий файл.

-P

Создать ссылку в дереве префиксов менеджера процессов в оперативной памяти.

-s

Создать символьную ссылку.

-v

Вывести расширенную информацию. Записывать сообщения о выполняемых действиях в стандартный поток вывода

исходный_файл

Путевое имя файла, на который создается ссылка. Если указана опция -s, то наличие этого файла не требуется.

конечный_файл

Путевое имя создаваемой записи каталога.

результ_каталог

Путевое имя существующего каталога, в котором будут создаваться новые записи каталога.

Описание:

Утилита ln имеет следующие две формы синтаксиса:

ln [-f|-i] [-s] исходный_файл конечный_файл

Утилита ln создает новую запись каталога (ссылку) по целевому пути, заданному в операнде конечный_файл, которая указывает на исходный файл как жесткая или символьная ссылка, в зависимости от опции -s. Эта форма синтаксиса принимается в случае, если в качестве результирующего указан не существующий каталог.

ln [-f|-i] [-s] исходный файл... результ_каталог

Для каждого значения исходный файл утилита ln создает новую запись каталога по целевому пути в существующем каталоге, заданном в операнде результ_каталог.

Целевой путь для каждого значения исходный_файл совпадает с его базовым именем (конечный компонент пути). Пример.

ln dir/dir/myfile /existingdir


Создается файл /existingdir/myfile в виде ссылки на файл dir/dir/myfile.

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

Если целевой путь существует и имеются полномочия на запись в существующий целевой файл или если указана опция - f, то утилита ln сначала удаляет ссылку на целевой объект и создает новую ссылку.

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

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

Жесткие ссылки могут создаваться только в той же файловой системе, что и исходный файл и не разрешены для каталогов. С помощью символьных ссылок, напротив, с файлом можно связать любое путевое имя. Символьная ссылка представляет собой специальный файл, в данных которого содержится целевое путевое имя. Для получения дополнительной информации см. раздел о символьных ссылках в руководстве по системной архитектуре.

Если указана опция -P, то ссылка создается в дереве префиксов путевых имен, расположенном в памяти менеджера процессов QNX Neutrino procnto. Это позволяет создавать новые ссылки на путевые имена без необходимости применения традиционной файловой системы. Если указана опция -s, то выполняется символьное перенаправление. Если опция -s не указана, то создается прямая ссылка на указанный менеджер ресурсов. Менеджер ресурсов должен быть указан в источнике в следующем формате:

идентификатор_узла,идентификатор_процесса,идентификатор_канала,описатель

где

идентификатор_узла

Идентификатор узла менеджера ресурсов, на который создается ссылка.

идентификатор_процесса

Идентификатор процесса менеджера ресурсов, на который создается ссылка.

идентификатор_канала

Идентификатор канала менеджера ресурсов, на который создается ссылка.

описатель

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

Большинство префиксных ссылок являются символьными.

Примеры:

Создание ссылки на каталог /home/curious/monkey с именем gorilla в каталоге /home/george:

ln /home/curious/monkey /home/george/gorilla

Создание символьной ссылки на каталог /home/fred с именем /home/barney:

ln -s /home/fred /home/barney

Создание символьной префиксной ссылки на файл /dev/shmem из /tmp. Эта простая ссылка отображает все промежуточные файлы, созданные в каталоге /tmp, на объекты разделяемой памяти, для реализации псевдодиска.

ln -sP /dev/shmem /tmp

Создание символьного префикса /dev/ser1 из /dev/modem. При попытке открыть /dev/modem будет открыт /dev/ser1.

ln -sP /dev/ser1 /dev/modem

Статус завершения:

0

На все указанные файлы успешно созданы ссылки.

>0

Возникла ошибка.

Предупреждения:

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

Примечание. Если целевой путь существует и работа утилиты ln прервана до завершения, то перед созданием новой ссылки этот целевой путь может быть удален.