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

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)