.\" -*- coding: UTF-8 -*- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. .\" and Copyright (C) 2006, 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-04-26 by Nick Duffek .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH symlink 2 "30 марта 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ symlink, symlinkat \- создаёт новое имя для файла .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint symlink(const char *\fP\fItarget\fP\fB, const char *\fP\fIlinkpath\fP\fB);\fP .PP \fB#include \fP/* определения констант \fBAT_*\fP */ \fB#include \fP .PP \fBint symlinkat(const char *\fP\fItarget\fP\fB, int \fP\fInewdirfd\fP\fB, const char *\fP\fIlinkpath\fP\fB);\fP .PP .fi .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBsymlink\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE .fi .PP \fBsymlinkat\fP(): .nf Начиная с glibc 2.10: _POSIX_C_SOURCE >= 200809L До glibc 2.10: _ATFILE_SOURCE .fi .SH ОПИСАНИЕ Вызов \fBsymlink\fP() создаёт символьную ссылку с именем \fIlinkpath\fP, которая содержит строку \fItarget\fP. .PP Символьные ссылки интерпретируются «на лету», как будто бы содержимое ссылки было подставлено вместо пути, по которому идёт поиск файла или каталога. .PP Символьные ссылки могут содержать компоненты пути \fI..\fP, которые (если используются в начале ссылки) ссылаются на родительский каталог того каталога, в котором находится ссылка. .PP Символьная ссылка (также известная как «мягкая ссылка») может указывать как на существующий, так и на несуществующий файлы; в последнем случае такая ссылка называется повисшей (dangling). .PP The permissions of a symbolic link are irrelevant; the ownership is ignored when following the link (except when the \fIprotected_symlinks\fP feature is enabled, as explained in \fBproc\fP(5)), but is checked when removal or renaming of the link is requested and the link is in a directory with the sticky bit (\fBS_ISVTX\fP) set. .PP Если \fIlinkpath\fP существует, то он \fIне\fP будет перезаписан. .SS symlinkat() Системный вызов \fBsymlinkat\fP() работает также как системный вызов \fBsymlink\fP(), за исключением случаев, описанных здесь. .PP Если в \fIlinkpath\fP задан относительный путь, то он считается относительно каталога, на который ссылается файловый дескриптор \fInewdirfd\fP (а не относительно текущего рабочего каталога вызывающего процесса, как это делается в \fBsymlink\fP()). .PP Если в \fIlinkpath\fP задан относительный путь и значение \fInewdirfd\fP равно \fBAT_FDCWD\fP, то \fIlinkpath\fP рассматривается относительно текущего рабочего каталога вызывающего процесса (как \fBsymlink\fP()). .PP Если в \fIlinkpath\fP задан абсолютный путь, то \fInewdirfd\fP игнорируется. .PP See \fBopenat\fP(2) for an explanation of the need for \fBsymlinkat\fP(). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success, zero is returned. On error, \-1 is returned, and \fIerrno\fP is set to indicate the error. .SH ОШИБКИ .TP \fBEACCES\fP Нет прав на запись в каталог, содержащийся в \fIlinkpath\fP, или в одном из каталогов в \fIlinkpath\fP не разрешён поиск (смотрите также \fBpath_resolution\fP(7)). .TP \fBEBADF\fP (\fBsymlinkat\fP()) \fIlinkpath\fP is relative but \fInewdirfd\fP is neither \fBAT_FDCWD\fP nor a valid file descriptor. .TP \fBEDQUOT\fP Исчерпана пользовательская квота на ресурсы файловой системы. Ресурсами могут быть иноды или дисковые блоки, в зависимости от реализации файловой системы. .TP \fBEEXIST\fP \fIlinkpath\fP уже существует. .TP \fBEFAULT\fP Значение \fItarget\fP или \fIlinkpath\fP указывают за пределы доступного адресного пространства. .TP \fBEIO\fP Произошла ошибка ввода\-вывода. .TP \fBELOOP\fP Во время определения \fIlinkpath\fP встретилось слишком много символьных ссылок. .TP \fBENAMETOOLONG\fP Слишком длинное значение аргумента \fItarget\fP или \fIlinkpath\fP. .TP \fBENOENT\fP Компонент пути \fIlinkpath\fP не существует или является повисшей символьной ссылкой или значение \fItarget\fP или \fIlinkpath\fP равно пустой строке. .TP \fBENOENT\fP (\fBsymlinkat\fP()) \fIlinkpath\fP is a relative pathname and \fInewdirfd\fP refers to a directory that has been deleted. .TP \fBENOMEM\fP Недостаточное количество памяти ядра. .TP \fBENOSPC\fP На устройстве, содержащем файл, нет места для создания нового элемента каталога. .TP \fBENOTDIR\fP Компонент пути, использованный как каталог в \fIlinkpath\fP, в действительности таковым не является. .TP \fBENOTDIR\fP (\fBsymlinkat\fP()) \fIlinkpath\fP is relative and \fInewdirfd\fP is a file descriptor referring to a file other than a directory. .TP \fBEPERM\fP Файловая система, содержащая \fIlinkpath\fP, не поддерживает создание символьных ссылок. .TP \fBEROFS\fP \fIlinkpath\fP расположен в файловой системе, доступной только для чтения. .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ .TP \fBsymlink\fP() .\" SVr4 documents additional error codes EDQUOT and ENOSYS. .\" See .\" .BR open (2) .\" re multiple files with the same name, and NFS. SVr4, 4.3BSD, POSIX.1\-2001. .TP \fBsymlinkat\fP() POSIX.1\-2008. Linux 2.6.16, glibc 2.4. .SS "Замечания по glibc" В старых ядрах, где \fBsymlinkat\fP() отсутствует, обёрточная функция glibc использует \fBsymlink\fP(). Если \fIlinkpath\fP является относительным путём, то glibc собирает путь относительно символической ссылки в \fI/proc/self/fd\fP, которая соответствует аргументу \fInewdirfd\fP. .SH ЗАМЕЧАНИЯ Не выполняется проверка \fItarget\fP. .PP При удаление имени, на который ссылается символьная ссылка, произойдёт удаление файла (если только у него нет других жёстких ссылок). Если такое поведение нежелательно, используйте \fBlink\fP(2). .SH "СМ. ТАКЖЕ" \fBln\fP(1), \fBnamei\fP(1), \fBlchown\fP(2), \fBlink\fP(2), \fBlstat\fP(2), \fBopen\fP(2), \fBreadlink\fP(2), \fBrename\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .