link   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (2)
Updated: 23 juin 2004
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
link - Crée un nouveau nom pour un fichier  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <unistd.h>

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




DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
En cas de réussite 0 est renvoyé, en cas d'échec -1 est renvoyé, et errno contient le code d'erreur.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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).
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 bas niveau s'est produite.
ELOOP
oldpath ou newpath contiennent une référence circulaire (à travers un lien symbolique).
EMLINK
Le fichier référencé par oldpath possède déjà le nombre maximal de liens.
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.
ENOMEM
pas assez de mémoire pour le noyau.
ENOSPC
Le support du système de fichiers ne dispose pas d'assez de place pour un nouveau point d'entrée dans le 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 monté. (Linux permet à un système de fichiers d'être monté en plusieurs endroits, mais link() ne traverse pas les différents points de montage, même si le même système de fichier est monté sur chacun d'eux.)
 



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
SVr4, BSD 4.3, POSIX.1-2001 (excepté ce qui est noté plus haut).  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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(2) si ceci est nécessaire.

POSIX.1-2001 dit que link() devrait déréférencer oldpath si c'est un lien symbolique. Toutefois, Linux ne le fait pas : si oldpath est un lien symbolique, newpath est créé comme un lien (matériel) vers le même fichier lien symbolique (c'est-à-dire, newpath devient un lien symbolique vers le même fichier auquel oldpath fait référence). Certaines autres implémentations se comportent de la même manière que Linux.  




BOGUES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
ln(1), linkat(2), open(2), rename(2), stat(2), symlink(2), unlink(2), path_resolution(7)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 10 octobre 1996 et révisée le 14 janvier 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 link ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
NOTES
BOGUES
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
EACCESERREURS
EEXISTERREURS
EFAULTERREURS
EIOERREURS
ELOOPERREURS
EMLINKERREURS
ENAMETOOLONGERREURS
ENOENTERREURS
ENOMEMERREURS
ENOSPCERREURS
ENOTDIRERREURS
EPERMERREURS
EROFSERREURS
EXDEVERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:49:10, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional