SYMLINK(2) | Podręcznik programisty Linuksa | SYMLINK(2) |
symlink, symlinkat - tworzenie nowej nazwy dla pliku
#include <unistd.h>
int symlink(const char *target, const char *linkpath); #include <fcntl.h> /* Definicja stałych AT_* */ #include <unistd.h>
int symlinkat(const char *target, int newdirfd, const char *linkpath);
symlink():
symlinkat():
symlink() tworzy dowiązanie symboliczne o nazwie linkpath które zawiera łańcuch znakowy target.
Dowiązania symboliczne są interpretowane w czasie działania, tak jakby zawartość dowiązania była podstawiana do ścieżki, przeglądanej by znaleźć plik lub katalog.
Dowiązania symboliczne mogą zawierać składniki .., które (jeśli używane na początku dowiązania) odnoszą się do katalogów nadrzędnych katalogu, w którym dane dowiązanie się znajduje.
Dowiązanie symboliczne (znane również pod nazwą miękiego dowiązania) może wskazywać na plik istniejący, lub nie istniejący; ten drugi przypadek znany jest pod pojęciem wiszącego dowiązania.
Prawa dostępu dla dowiązania symbolicznego są nieistotne; jego właścicielstwo jest ignorowane podczas podążania za nim, lecz sprawdzane podczas usuwania lub przemianowywania, gdy dowiązanie jest w katalogu z ustawionym bitem `sticky' (S_ISVTX).
Jeśli ścieżka linkpath istnieje to nie będzie nadpisana.
The symlinkat() system call operates in exactly the same way as symlink(), except for the differences described here.
If the pathname given in linkpath is relative, then it is interpreted relative to the directory referred to by the file descriptor newdirfd (rather than relative to the current working directory of the calling process, as is done by symlink() for a relative pathname).
If linkpath is relative and newdirfd is the special value AT_FDCWD, then linkpath is interpreted relative to the current working directory of the calling process (like symlink()).
If linkpath is absolute, then newdirfd is ignored.
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i odpowiednio ustawiane jest errno.
The following additional errors can occur for symlinkat():
symlinkat() was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4.
symlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
symlinkat(): POSIX.1-2008.
Nie jest dokonywane sprawdzenie target.
Usunięcie nazwy, na którą wskazuje dowiązanie symboliczne, w rzeczywistości spowoduje skasowanie pliku (chyba że ma jeszcze inne twarde dowiązania). Jeśli zachowanie to nie jest porządane, należy używać link(2).
On older kernels where symlinkat() is unavailable, the glibc wrapper function falls back to the use of symlink(). When linkpath is a relative pathname, glibc constructs a pathname based on the symbolic link in /proc/self/fd that corresponds to the newdirfd argument.
ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2), path_resolution(7), symlink(7)
Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl> i Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres manpages-pl-list@lists.sourceforge.net.
15 września 2017 r. | Linux |