Provided by: manpages-ro-dev_4.28.0-2_all 

NUME
symlink, symlinkat - creează un nou nume pentru un fișier
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <unistd.h>
int symlink(const char *target, const char *linkpath);
#include <fcntl.h> /* Definirea constantelor AT_* */
#include <unistd.h>
int symlinkat(const char *target, int newdirfd, const char *linkpath);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):
symlink():
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
|| /* glibc <= 2.19: */ _BSD_SOURCE
symlinkat():
Începând cu glibc 2.10
_POSIX_C_SOURCE >= 200809L
Înainte de glibc 2.10:
_ATFILE_SOURCE
DESCRIERE
symlink() creează o legătură simbolică numită linkpath care conține șirul target.
Legăturile simbolice sunt interpretate în timpul rulării ca și cum conținutul legăturii ar fi fost
substituit în ruta urmată pentru a găsi un fișier sau un director.
Legăturile simbolice pot conține componente de rută .., care (dacă sunt utilizate la începutul legăturii)
se referă la directoarele părinte ale celui în care se află legătura.
O legătură simbolică (cunoscută și sub denumirea de legătură soft) poate indica un fișier existent sau
unul inexistent; în acest din urmă caz, se vorbește despre o legătură suspendată.
Permisiunile unei legături simbolice sunt irelevante; proprietatea este ignorată atunci când se urmează
legătura (cu excepția cazului în care este activată caracteristica protected_symlinks, așa cum se explică
în proc(5)), dar este verificată atunci când se solicită eliminarea sau redenumirea legăturii și legătura
se află într-un director cu bitul lipicios (S_ISVTX) activat.
Dacă linkpath există, acesta nu va fi suprascris.
symlinkat()
Apelul de sistem symlinkat() funcționează exact în același mod ca symlink(), cu excepția diferențelor
descrise aici.
Dacă numele rutei specificat în linkpath este relativ, atunci acesta este interpretat relativ la
directorul la care se referă descriptorul de fișier newdirfd (în loc să fie interpretat relativ la
directorul de lucru curent al procesului apelant, așa cum se întâmplă în cazul symlink() pentru un nume
de rută relativ).
Dacă linkpath este relativ și newdirfd este valoarea specială AT_FDCWD, atunci linkpath este interpretat
relativ la directorul de lucru curent al procesului apelant (ca symlink()).
Dacă linkpath este absolută, atunci newdirfd este ignorată.
Consultați openat(2) pentru o explicație a necesității symlinkat().
VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată
pentru a indica eroarea.
ERORI-IEȘIRE
EACCES Accesul în scriere la directorul care conține linkpath este refuzat sau unul dintre directoarele
din prefixul rutei linkpath nu permite permisiunea de căutare. (A se vedea de asemenea,
path_resolution(7).)
EBADF (symlinkat()) linkpath este relativă, dar newdirfd nu este nici AT_FDCWD, nici un descriptor de
fișier valid.
EDQUOT Cota de resurse a utilizatorului pe sistemul de fișiere a fost epuizată. Resursele pot fi noduri
-i sau blocuri de disc, în funcție de implementarea sistemului de fișiere.
EEXIST linkpath există deja.
EFAULT target sau linkpath indică în afara spațiului dvs. de adrese accesibil.
EIO A apărut o eroare de In/Ieș.
ELOOP Au fost găsite prea multe legături simbolice în rezolvarea linkpath.
ENAMETOOLONG
target sau linkpath era prea lungă.
ENOENT O componentă a directorului din linkpath nu există sau este o legătură simbolică suspendată, sau
target sau linkpath este un șir gol.
ENOENT (symlinkat()) linkpath este o rută relativă, iar newdirfd se referă la un director care a fost
șters.
ENOMEM Nu a fost disponibilă suficientă memorie pentru nucleu.
ENOSPC Dispozitivul care conține fișierul nu are loc pentru noua intrare în director.
ENOTDIR
O componentă utilizată ca director în linkpath nu este, de fapt, un director.
ENOTDIR
(symlinkat()) linkpath este relativă, iar newdirfd este un descriptor de fișier care se referă la
un fișier, altul decât un director.
EPERM Sistemul de fișiere care conține linkpath nu acceptă crearea de legături simbolice.
EROFS linkpath se află pe un sistem de fișiere numai-pentru-citire.
STANDARDE
POSIX.1-2008.
ISTORIC
symlink()
SVr4, 4.3BSD, POSIX.1-2001.
symlinkat()
POSIX.1-2008. Linux 2.6.16, glibc 2.4.
note glibc
Pe nucleele mai vechi, unde symlinkat() nu este disponibilă, funcția de învăluire glibc revine la
utilizarea symlink(). Când linkpath este un nume de rută relativă, glibc construiește un nume de rută
bazat pe legătura simbolică din /proc/self/fd care corespunde argumentului newdirfd.
NOTE
Nu se efectuează nicio verificare a target.
Ștergerea numelui la care face referire o legătură simbolică va șterge efectiv fișierul (cu excepția
cazului în care acesta are și alte legături fizice). Dacă nu doriți acest comportament, utilizați
link(2).
CONSULTAȚI ȘI
ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2),
path_resolution(7), symlink(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.9.1 2 mai 2024 symlink(2)