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