LINK(2)            Manuel du programmeur Linux            LINK(2)


NOM
       link - Crée 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 ecrasé.

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

VALEUR RENVOYÉE
       En cas de réussite 0 est renvoyé, en cas  d'échec  -1  est
       renvoyé, et errno contient le code d'erreur.

ERREURS
       EXDEV   oldpath  et  newpath  ne  résident pas sur le même
               système de fichiers.

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

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

       EACCES  L'écriture dans le  répertoire  contenant  newpath
               n'est  pas autorisé pour l'UID effectif du proces­
               sus, ou l'un des répertoires de oldpath ou newpath
               ne permet pas le parcours (exécution).

       ENAMETOOLONG
               oldpath ou newpath sont trop longs.

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

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

       ENOMEM  pas assez de mémoire pour le noyau

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




Linux                     25 Avril 1998                         1





LINK(2)            Manuel du programmeur Linux            LINK(2)


       EEXIST  newpath éxiste deja.

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

       ELOOP   oldpath ou newpath contiennent une référence  cir­
               culaire (à travers un lien symbolique).

       ENOSPC  Le  support  du  système de fichier ne dispose pas
               d'assez de place pour un  nouveau  point  d'entrée
               dans le répertoire.

       EPERM   oldpath est un répertoire.

       EIO     Une  erreur  d'entrée/sortie bas-niveau s'est pro­
               duite.

NOTES
       Les liens matériels créés par link, ne peuvent pas s'éten­
       dre  sur plusieurs systèmes de fichiers.  On peut utiliser
       plutôt symlink si ceci est nécessaire.

CONFORMITÉ
       SVr4, SVID, POSIX, BSD 4.3,  X/OPEN.  SVr4  documente  des
       conditions d'erreurs supplémentaires ENOLINK et EMULTIHOP.
       POSIX.1 ne décrit pas ELOOP.  X/OPEN  ne  décrit  pas  les
       erreurs EFAULT, ENOMEM, ni EIO.

BUGS
       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
       symlink(2), unlink(2), rename(2), open(2), stat(2), ln(1)


TRADUCTION
       Christophe Blaess, 1997.
















Linux                     25 Avril 1998                         2