jammy (2) symlink.2.gz

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