.\" -*- coding: UTF-8 -*-
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
.\"             and Copyright (C) 1993 Michael Haardt, Ian Jackson.
.\"		and Copyright (C) 2006, 2014 Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified 1993-07-24 by Rik Faith
.\" Modified 1996-04-26 by Nick Duffek <nsd@bbc.com>
.\" Modified 1996-11-06 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH symlink 2 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
symlink, symlinkat \- tworzy nową nazwę dla pliku
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <unistd.h>\fP
.PP
\fBint symlink(const char *\fP\fItarget\fP\fB, const char *\fP\fIlinkpath\fP\fB);\fP
.PP
\fB#include <fcntl.h>           \fP/* Definicja stałych \fBAT_*\fP */
\fB#include <unistd.h>\fP
.PP
\fBint symlinkat(const char *\fP\fItarget\fP\fB, int \fP\fInewdirfd\fP\fB, const char *\fP\fIlinkpath\fP\fB);\fP
.PP
.fi
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.PP
\fBsymlink\fP():
.nf
.\"    || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
    _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
        || /* glibc <= 2.19: */ _BSD_SOURCE
.fi
.PP
\fBsymlinkat\fP():
.nf
    Od glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    Przed glibc 2.10:
        _ATFILE_SOURCE
.fi
.SH OPIS
\fBsymlink\fP() tworzy dowiązanie symboliczne o nazwie \fIlinkpath\fP które
zawiera łańcuch znakowy \fItarget\fP.
.PP
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.
.PP
Dowiązania symboliczne mogą zawierać składniki \fI..\fP, 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.
.PP
Dowiązanie symboliczne (czasem nazywane również miękkim dowiązaniem) może
wskazywać na plik istniejący, lub nieistniejący; ten drugi przypadek znany
jest pod pojęciem wiszącego dowiązania.
.PP
Prawa dostępu dla dowiązania symbolicznego są nieistotne; jego własność jest
ignorowana podczas podążania za nim (z wyjątkiem sytuacji, gdy włączono
funkcję \fIprotected_symlinks\fP, zgodnie z wyjaśnieniem w \fBproc\fP(5)), lecz
sprawdzane podczas usuwania lub przemianowywania, gdy dowiązanie jest w
katalogu z ustawionym bitem lepkości (\fBS_ISVTX\fP).
.PP
Jeśli ścieżka \fIlinkpath\fP istnieje to \fInie\fP będzie nadpisana.
.SS symlinkat()
Wywołanie systemowe \fBsymlinkat\fP() operuje w dokładnie taki sam sposób jak
\fBsymlink\fP(), z wyjątkiem różnic opisanych tutaj.
.PP
Jeśli ścieżka podana w \fIlinkpath\fP jest względna, jest to interpretowane w
odniesieniu do katalogu do którego odnosi się deskryptor pliku \fInewdirfd\fP
(zamiast w odniesieniu do bieżącego katalogu roboczego procesu wywołującego,
jak w stosunku do ścieżek względnych robi to \fBsymlink\fP()).
.PP
Jeśli \fIlinkpath\fP jest względna a \fInewdirfd\fP ma wartość specjalną
\fBAT_FDCWD\fP, to \fIlinkpath\fP jest interpretowana w odniesieniu do bieżącego
katalogu roboczego procesu wywołującego (jak \fBsymlink\fP()).
.PP
Jeśli ścieżka \fIlinkpath\fP jest bezwzględna, to \fInewdirfd\fP jest ignorowane.
.PP
Więcej informacji o potrzebie wprowadzenia \fBsymlinkat\fP() można znaleźć w
podręczniku \fBopenat\fP(2).
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest \-1 i
ustawiane \fIerrno\fP, wskazując błąd.
.SH BŁĘDY
.TP 
\fBEACCES\fP
Odmówiono zapisu do katalogu zawierającego \fIlinkpath\fP lub jeden z katalogów
w składowej ścieżek \fIlinkpath\fP nie zezwala na uprawnienie przeszukiwania
(zob. też \fBpath_resolution\fP(7)).
.TP 
\fBEBADF\fP
(\fBsymlinkat\fP())  \fIlinkpath\fP jest względne, lecz \fInewdirfd\fP nie wynosi ani
\fBAT_FDCWD\fP, ani nie jest prawidłowym deskryptorem pliku.
.TP 
\fBEDQUOT\fP
Wyczerpano przydział zasobów użytkownika w systemie plików. Zasobami mogą
być i\-węzły lub bloki dyskowe, w zależności od implementacji systemu plików.
.TP 
\fBEEXIST\fP
\fIlinkpath\fP już istnieje.
.TP 
\fBEFAULT\fP
\fItarget\fP lub \fIlinkpath\fP wskazuje poza dostępną dla użytkownika przestrzeń
adresową.
.TP 
\fBEIO\fP
Wystąpił błąd wejścia/wyjścia.
.TP 
\fBELOOP\fP
Podczas rozwiązywania \fIlinkpath\fP napotkano zbyt wiele dowiązań
symbolicznych.
.TP 
\fBENAMETOOLONG\fP
\fItarget\fP lub \fIlinkpath\fP było zbyt długie.
.TP 
\fBENOENT\fP
Składnik \fIlinkpath\fP, który powinien być katalogiem, nie istnieje lub jest
wiszącym dowiązaniem symbolicznym albo \fItarget\fP lub \fIlinkpath\fP jest
łańcuchem pustym.
.TP 
\fBENOENT\fP
(\fBsymlinkat\fP())  \fIlinkpath\fP jest ścieżką względną, a \fInewdirfd\fP odnosi
się do usuniętego katalogu.
.TP 
\fBENOMEM\fP
Brak pamięci jądra.
.TP 
\fBENOSPC\fP
Na urządzeniu, zawierającym plik nie ma miejsca na kolejny wpis w katalogu.
.TP 
\fBENOTDIR\fP
Składnik użyty jako katalog w \fIlinkpath\fP w rzeczywistości nie jest
katalogiem.
.TP 
\fBENOTDIR\fP
(\fBsymlinkat\fP())  \fIlinkpath\fP jest względna, a \fInewdirfd\fP jest deskryptorem
pliku odnoszącym się do pliku, zamiast do katalogu.
.TP 
\fBEPERM\fP
System plików zawierający \fIlinkpath\fP nie zezwala na tworzenie dowiązań
symbolicznych.
.TP 
\fBEROFS\fP
Plik \fIlinkpath\fP znajduje się na systemie plików tylko dla odczytu.
.SH WERSJE
\fBsymlinkat\fP() zostało dodane w Linuksie 2.6.16; obsługę biblioteki dodano
do glibc w wersji 2.4.
.SH STANDARDY
.\" SVr4 documents additional error codes EDQUOT and ENOSYS.
.\" See
.\" .BR open (2)
.\" re multiple files with the same name, and NFS.
\fBsymlink\fP(): SVr4, 4.3BSD, POSIX.1\-2001, POSIX.1\-2008.
.PP
\fBsymlinkat\fP(): POSIX.1\-2008.
.SH UWAGI
Nie jest dokonywane sprawdzenie \fItarget\fP.
.PP
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 pożądane, należy używać
\fBlink\fP(2).
.SS "Uwagi dla glibc"
Na starszych wersjach jądra Linux, gdzie \fBsymlinkat\fP() nie było dostępne,
funkcja opakowująca z glibc wraca do używania \fBsymlink\fP(). Kiedy
\fIlinkpath\fP jest względną ścieżką, glibc konstruuje ścieżkę na bazie
dowiązania symbolicznego w \fI/proc/self/fd\fP, które odpowiada argumentowi
\fInewdirfd\fP.
.SH "ZOBACZ TAKŻE"
\fBln\fP(1), \fBnamei\fP(1), \fBlchown\fP(2), \fBlink\fP(2), \fBlstat\fP(2), \fBopen\fP(2),
\fBreadlink\fP(2), \fBrename\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7),
\fBsymlink\fP(7)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Przemek Borys <pborys@dione.ids.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
