LINK
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
NOTES
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION
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 permissions 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 processus, 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
- EEXIST
-
newpath
existe déjà.
- 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 circulaire (à 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 produite.
NOTES
Les liens matériels créés par
link,
ne peuvent pas s'étendre 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.
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
TRADUCTION
Christophe Blaess, 1996-2003.
|