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

NOM

       symlink, symlinkat - Créer un nouveau nom pour un fichier

SYNOPSIS

       #include <unistd.h>

       int symlink(const char *target, const char *linkpath);

       #include <fcntl.h>           /* Définition des constantes AT_* */
       #include <unistd.h>

       int symlinkat(const char *target, int newdirfd, const char *linkpath);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

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

       symlinkat():
           Depuis la glibc 2.10 :
               _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _ATFILE_SOURCE

DESCRIPTION

       symlink() crée un lien symbolique avec le nom linkpath indiqué, et qui pointe sur target.

       Les liens sont interprétés à l'exécution, comme si le contenu du lien était  remplacé  par
       le chemin d'accès pour trouver un fichier ou un répertoire.

       Les  liens  symboliques peuvent contenir .. pour le chemin, qui (s'il est utilisé au début
       du lien) se réfère aux répertoires parents du lien.

       Un lien symbolique (aussi nommé « soft link ») peut pointer vers un  fichier  existant  ou
       sur un fichier non existant.

       Les  permissions  d'accès  à  un lien symbolique sont sans importance, le propriétaire est
       ignoré lorsque l'on suit le lien, il n'est vérifié que pour supprimer ou renommer le  lien
       si celui-ci se trouve dans un répertoire avec le sticky bit (S_ISVTX) positionné.

       Si linkpath existe, il ne sera pas écrasé.

   symlinkat()
       L'appel  système symlinkat() fonctionne exactement comme symlink(), les seules différences
       étant décrites ici.

       Si linkpath est un chemin relatif, il est interprété relativement au répertoire  référencé
       par  le descripteur newdirfd (plutôt que par rapport au répertoire courant, comme c'est le
       cas avec symlink()).

       Si linkpath est relatif et si newdirfd a la valeur spéciale AT_FDCWD, alors  linkpath  est
       interprété  relativement  au  répertoire  de  travail  du  processus  appelant, comme pour
       symlink().

       Si linkpath est un chemin absolu, newdirfd est ignoré.

VALEUR RENVOYÉE

       En cas de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et  errno  reçoit  une
       valeur adéquate.

ERREURS

       EACCES L'écriture  dans  le  répertoire  contenant  linkpath  est  interdite,  ou l'un des
              répertoires  composant  linkpath  ne  permet  pas  le  parcours.  (Consultez  aussi
              path_resolution(7).)

       EDQUOT Le  quota  de ressources de l'utilisateur sur le système de fichiers a été atteint.
              Les  ressources  peuvent  être  des  inœuds  ou  des  blocs  de   disque,   suivant
              l'implémentation sur le système de fichiers.

       EEXIST linkpath existe déjà.

       EFAULT target ou linkpath pointent en dehors de l'espace d'adressage accessible.

       EIO    Une erreur d'entrée-sortie s'est produite.

       ELOOP  linkpath contient une référence circulaire (à travers un lien symbolique).

       ENAMETOOLONG
              target ou linkpath est trop long.

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

       ENOMEM La mémoire disponible du noyau n'était pas suffisante.

       ENOSPC Le périphérique contenant le fichier n'a pas de place pour une nouvelle  entrée  de
              répertoire.

       ENOTDIR
              Un  composant utilisé comme un répertoire dans le chemin linkpath n'est en fait pas
              un répertoire.

       EPERM  le système de fichiers contenant linkpath  ne  permet  pas  la  création  de  liens
              symboliques.

       EROFS  Le chemin linkpath se trouve sur un système de fichiers en lecture seule.

       Les erreurs supplémentaires suivantes peuvent également se produire pour symlinkat() :

       EBADF  newdirfd n'est pas un descripteur de fichier valable.

       ENOENT linkpath  est  un  chemin  relatif,  et  le  descripteur  newdirfd est associé à un
              répertoire qui a été supprimé.

       ENOTDIR
              linkpath est un chemin relatif,  et  le  descripteur  newdirfd  est  associé  à  un
              fichier, pas à un répertoire.

VERSIONS

       symlinkat()  a  été ajouté au noyau Linux dans sa version 2.6.16 ; la glibc le gère depuis
       la version 2.4.

CONFORMITÉ

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

       symlinkat() : POSIX.1-2008.

NOTES

       Il n'y a pas de vérification de l'existence de target.

       Effacer le nom référencé par un lien symbolique effacera effectivement le fichier (à moins
       qu'il ait d'autres liens matériels). Si ce comportement est indésirable, utiliser link().

   Notes de la 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.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>  et  Frédéric  Hantrais
       <fhantrais@gmail.com>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.