MAN symlink 2
Материал из Gentoo Linux Wiki
- Вернуться в раздел мануалов
Содержание |
[править] Имя
symlink - создать новое имя для файла
[править] Обзор
#include <unistd.h>
int symlink(const char * topath , const char * frompath );
[править] Описание
symlink создает символьную ссылку, которая называется frompath и содержит строку topath . Символьные ссылки интерпретируются "на лету", как будто бы содержимое ссылки было подставлено вместо пути, по которому идет поиск файла или каталога.
Символьные ссылки могут содержать такие компоненты пути, как .. которые, (если используются в начале ссылки), ссылаются на родительский каталог того каталога, в котором находится ссылка.
Символьная ссылка (также известная как "мягкая ссылка") может указывать как на существующий, так и на несуществующий файлы; в последнем случае такая ссылка называется "висячей".
Права доступа к символьной ссылке не используются; её владелец игнорируется при поиске по ссылке, но проверяется при удалении или переименовании ссылки, находящейся в каталоге с установленным sticky битом.
Если newpath существует, он не будет перезаписан.
[править] Возвращаемое значение
В случае успеха возвращается ноль. При ошибке возвращается -1, а значение errno устанавливается должным образом.
[править] Ошибки
0.8i
EPERM Файловая система, содержащая pathname , не поддерживает создание символьных ссылок.
EFAULT oldpath " или " newpath указывают за пределы доступного адресного пространства.
EACCES Доступ для записи в каталог, содержащий newpath, не разрешен для эффектиного uid владельца процесса, или же один из каталогов, являющихся частью newpath, не допускает поиск.
ENAMETOOLONG oldpath " или " newpath слишком длинны.
ENOENT Одна из частей пути oldpath " или " newpath не существует или является "висячей" символьной ссылкой.
ENOTDIR Компонент пути, использованный как каталог в oldpath " или " newpath , в действительности таковым не является.
ENOMEM Ядру не хватило памяти.
EROFS Файл находится на файловой системе, смонтированной только для чтения.
EEXIST newpath уже существует.
ELOOP newpath является зацикленной символьной ссылкой, то есть при подстановке возникает ссылка на неё саму.
ENOSPC На устройстве, содержащем newpath , нет места для создания новой записи в каталоге. Это может произойти также, если исчерпана квота дискового пространства пользователя.
[править] Замечания
Не производится никакой проверки oldpath. Удаление файла, на который ссылается символьная ссылка, действительно удалит файл (если только у него нет других жестких ссылок). Если такое поведение нежелательно, используйте link .
[править] Соответствие стандартам
SVr4, SVID, POSIX, BSD 4.3. SVr4 документирует дополнительные коды ошибок EDQUOT, EIO, ENAMETOOLONG, ENOSYS.
[править] Ошибки
Смотри open (2) по поводу множества файлов с одним именем и NFS.
[править] Смотри также
link (2), unlink (2), rename (2), open (2), lstat (2), ln (1), link (8).
[править] Перевод
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999, Виктор Вислобоков <corochoone@perm.ru> 2003
[править] Комментарии к man файлу
Hey Emacs! This file is -*- nroff -*- source.
This manpage is Copyright (C) 1992 Drew Eckhardt;
1993 Michael Haardt, Ian Jackson.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one
Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date. The author(s) assume no
responsibility for errors or omissions, or for damages resulting from
the use of the information contained herein. The author(s) may not
have taken the same level of care in the production of this manual,
which is licensed free of charge, as they might when working
professionally.
Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.
Modified Sat Jul 24 12:01:10 1993 by Rik Faith
Added correction due to Nick Duffek <nsd@bbc.com>, aeb, 960426
Modified Wed Nov 6 04:07:10 1996 by Eric S. Raymond <esr@thyrsus.com>
Modified Fri Jan 31 17:51:14 1997 by Eric S. Raymond <esr@thyrsus.com>
Дата последней коррекции перевода 12.12.2003
Оригинальный перевод Алексея Махоткина <alexm@hsys.msk.ru> 1999-2001
Дополнения и правки перевода сделал Виктор Вислобоков <corochoone@perm.ru>
http://www.linuxshare.ru/projects/man/
