> Linux Reviews > man >

symlink

symlink


  1. symlink.2.man


1. symlink.2.man

Manpage of SYMLINK

SYMLINK

Section: Руководство программиста Linux (2)
Updated: 2010-09-20
Index Return to Main Contents
 

ИМЯ

symlink - создать новое имя для файла  

ОБЗОР

#include <unistd.h>

int symlink(const char *oldpath, const char *newpath);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

symlink():

_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE &&_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE >= 200112L
 

ОПИСАНИЕ

symlink() создает символьную ссылку с именем newpath, которая содержит строку oldpath.

Символьные ссылки интерпретируются «на лету», как-будто бы содержимое ссылки было подставлено вместо пути, по которому идёт поиск файла или каталога.

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

Символьная ссылка (также известная как «мягкая ссылка») может указывать как на существующий, так и на несуществующий файлы; в последнем случае такая ссылка называется повисшей (dangling).

Права доступа символьной ссылки не имеют значения; принадлежность определённому владельцу игнорируется при переходе по ссылке, но проверяется при удалении или переименовании ссылки, а также ссылки в каталог с установленным закрепляющим (sticky) битом (S_ISVTX).

Если newpath существует, то он не будет перезаписан.  

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.  

ОШИБКИ

EACCES
Нет прав на запись в каталог, содержащийся в newpath, или в одном из каталогов в newpath не разрешён поиск (см. также path_resolution(7)).
EEXIST
newpath уже существует.
EFAULT
Значения oldpath и newpath указывают за пределы доступного адресного пространства.
EIO
Произошла ошибка ввода-вывода.
ELOOP
Во время определения newpath встретилось слишком много символьных ссылок.
ENAMETOOLONG
Слишком длинное значение аргумента oldpath или newpath.
ENOENT
Компонент пути newpath не существует или является повисшей символьной ссылкой.
ENOMEM
Недостаточное количество памяти ядра.
ENOSPC
На устройстве, содержащем файл, нет места для создания нового элемента каталога.
ENOTDIR
Компонент пути, использованный как каталог в newpath, в действительности таковым не является.
EPERM
Файловая система, содержащая newpath, не поддерживает создание символьных ссылок.
EROFS
newpath находится на файловой системе, доступной только для чтения.
 

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4, 4.3BSD, POSIX.1-2001.  

ЗАМЕЧАНИЯ

Не выполняется проверка oldpath.

При удаление имени, на который ссылается символьная ссылка, произойдёт удаление файла (если только у него нет других жёстких ссылок). Если такое поведение нежелательно, используйте link(2).  

СМОТРИТЕ ТАКЖЕ

ln(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), symlinkat(2), unlink(2), path_resolution(7), symlink(7)


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СООТВЕТСТВИЕ СТАНДАРТАМ
ЗАМЕЧАНИЯ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:42:02 GMT, May 11, 2012

SVENSKA - SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl