Rechercher une page de manuel
link
Langue: fr
Version: 23 juin 2004 (ubuntu - 16/08/07)
Section: 2 (Appels système)
NOM
link - Crée un nouveau nom pour un fichierSYNOPSIS
#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
L'appel renvoie 0 quand il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.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). Voir aussi path_resolution(2).
- 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
- 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. (Linux permet de monter un système de fichiers à différents endroits, mais link(2) ne fonctionne pas sur différents points de montage, même si le système de fichiers sous-jacent est le même.
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.Selon POSIX.1-2001, link() devrait déréférencer oldpath s'il s'agit d'un lien symbolique. Cependant, 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.
CONFORMITÉ
SVr4, BSD 4.3, POSIX.1-2001 (excepté ce qui est noté plus haut).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), path_resolution(2), rename(2), stat(2), symlink(2), unlink(2)TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
ça deplaît à certains. Paradoxal, non ?
-+- Philippe Geluck, Le chat -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre