Provided by: manpages-pl-dev_4.13-4_all bug

NAZWA

       symlink, symlinkat - tworzenie nowej nazwy dla pliku

SKŁADNIA

       #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);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       symlink():
           _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
               || /* Wersje glibc <= 2.19: */ _BSD_SOURCE

       symlinkat():
           Od glibc 2.10:
               _POSIX_C_SOURCE >= 200809L
           Przed glibc 2.10:
               _ATFILE_SOURCE

OPIS

       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.

   symlinkat()
       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.

WARTOŚĆ ZWRACANA

       Po  pomyślnym  zakończeniu  zwracane  jest zero. Po błędzie zwracane jest -1 i odpowiednio
       ustawiane jest errno.

BŁĘDY

       EACCES Write access to the  directory  containing  linkpath  is  denied,  or  one  of  the
              directories  in  the path prefix of linkpath did not allow search permission.  (See
              also path_resolution(7).)

       EDQUOT The user's quota of resources on the filesystem has been exhausted.  The  resources
              could be inodes or disk blocks, depending on the filesystem implementation.

       EEXIST linkpath już istnieje.

       EFAULT target lub linkpath wskazuje poza dostępną dla użytkownika przestrzeń adresową.

       EIO    Wystąpił błąd wejścia/wyjścia.

       ELOOP  Podczas rozwiązywania linkpath napotkano zbyt wiele dowiązań symbolicznych.

       ENAMETOOLONG
              target lub linkpath było zbyt długie.

       ENOENT A directory component in linkpath does not exist or is a dangling symbolic link, or
              target or linkpath is an empty string.

       ENOMEM Brak pamięci jądra.

       ENOSPC Na urządzeniu, zawierającym plik nie ma miejsca na kolejny wpis w katalogu.

       ENOTDIR
              Składnik użyty jako katalog w linkpath w rzeczywistości nie jest katalogiem.

       EPERM  System plików zawierający linkpath nie zezwala na tworzenie dowiązań symbolicznych.

       EROFS  Plik linkpath znajduje się na systemie plików tylko dla odczytu.

       The following additional errors can occur for symlinkat():

       EBADF  newdirfd is not a valid file descriptor.

       ENOENT linkpath is a relative pathname and newdirfd refers to a directory  that  has  been
              deleted.

       ENOTDIR
              linkpath  is  relative  and newdirfd is a file descriptor referring to a file other
              than a directory.

WERSJE

       symlinkat()  was added to Linux in kernel 2.6.16; library support was added  to  glibc  in
       version 2.4.

ZGODNE Z

       symlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.

       symlinkat(): POSIX.1-2008.

UWAGI

       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).

   Uwagi dla glibc
       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.

ZOBACZ TAKŻE

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

O STRONIE

       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/.

T◈UMACZENIE

       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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub  nowszej.  Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres listy dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.