Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       link - Créer un nouveau nom pour un fichier

SYNOPSIS

       #include <unistd.h>

       int link(const char *oldpath, const char *newpath);

DESCRIPTION

       link()  crée  un  nouveau  lien  (aussi  appelé lien matériel ou hard link) sur un fichier
       existant.

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

       Ce nouveau nom pourra être utilisé exactement comme l'ancien quelle que soit  l'opération.
       Les deux noms réfèrent au même fichier (et ont donc les mêmes permissions et propriétaire)
       et il est impossible de déterminer quel nom était l'original.

VALEUR RENVOYÉE

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno  en
       conséquence.

ERREURS

       EACCES L'écriture  dans  le  répertoire  contenant  newpath n'est pas autorisée pour l'UID
              effectif du processus, ou l'un des répertoires de oldpath ou newpath ne permet  pas
              le parcours (exécution). Consultez aussi path_resolution(7).

       EEXIST newpath existe déjà.

       EFAULT oldpath ou newpath pointent en dehors de l'espace d'adressage accessible.

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

       ELOOP  Trop de liens symboliques ont été rencontrés en parcourant oldpath ou newpath.

       EMLINK Le fichier référencé par oldpath possède déjà le nombre maximal de liens.

       ENAMETOOLONG
              oldpath ou newpath est trop long.

       ENOENT Un  répertoire  contenu  dans  oldpath  ou  newpath  n'existe  pas,  ou est un lien
              symbolique pointant nulle part.

       ENOMEM Pas assez de mémoire pour le noyau.

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

       ENOTDIR
              Un élément du chemin d'accès oldpath ou newpath n'est pas réellement un répertoire.

       EPERM  oldpath est un répertoire.

       EPERM  Le  système  de  fichiers contenant oldpath et newpath ne permet pas la création de
              liens matériels.

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

       EXDEV  oldpath et newpath ne résident pas sur le même système de fichiers.  (Linux  permet
              de  monter  un système de fichiers à différents endroits, mais link() ne fonctionne
              pas sur différents points de montage, même si le système  de  fichiers  sous‐jacent
              est le même.

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001 (mais consultez la section NOTES).

NOTES

       Les  liens  matériels créés par link(), ne peuvent pas s'étendre sur plusieurs systèmes de
       fichiers. Utilisez plutôt symlink(2) si ceci est nécessaire.

       Selon POSIX.1-2001, link() devrait déréférencer oldpath s'il s'agit d'un lien  symbolique.
       Cependant,  depuis  le  noyau 2.0, Linux ne se comporte pas comme cela : si oldpath est un
       lien symbolique, alors newpath est créé comme un lien matériel vers  le  même  fichier  de
       lien  symbolique  (c'est‐à‐dire que newpath devient un lien symbolique vers le fichier sur
       lequel pointe oldpath). Certaines autres implémentations  ont  le  même  comportement  que
       Linux.   POSIX.1-2008   change  la  spécification  de  link(),  en  rendant  dépendant  de
       l'implémentation le fait que oldpath est déréférencé s'il  s'agit  d'un  lien  symbolique.
       Pour  un  contrôle  précis  sur  le traitement des liens symboliques pour la création d'un
       lien, consultez linkat(2).

BOGUES

       Sur les systèmes de fichiers NFS, le code de retour peut être faux si  le  serveur  NFS  a
       créé  correctement  le  lien mais s'est arrêté avant de donner le code de retour. Utiliser
       dans ce cas stat(2) pour vérifier si le lien a été effectivement créé.

VOIR AUSSI

       ln(1), linkat(2), open(2), rename(2), stat(2), symlink(2), unlink(2),  path_resolution(7),
       symlink(7)

COLOPHON

       Cette  page  fait partie de la publication 3.32 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction  francophone  au  sein  du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL:http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».