Index général des pages de man   Index Section man 2   Table des Matières de symlink   Imprime la page de man symlink en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions du système (section 2)

symlink

 
  

Nom

symlink - Créer un nouveau nom pour un fichier.

Synopsis

#include <unistd.h>

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

Description

symlink crée un lien symbolique nommé oldpath qui pointe sur newpath.

Les liens sont interprétés à l'exécution, comme si le contenu du lien était remplacé par le chemin d'accès pour trouver un fichier ou un répertoire.

Les liens symboliques peuvent contenir les composants . et .. pour le chemin, qui (s'ils sont utilisés au début du lien) se réfèrent au répertoire où le lien réside et à son répertoire parent.

Un lien symbolique (aussi nomme soft link) peut pointer vers un fichier existant ou sur un fichier non-existant.

Les permissions d'accès à un lien symbolique sont sans importance, le propriétaire est ignoré lorsque l'on suit le lien, il n'est vérifié que pour supprimer ou renommer le lien si celui ci se trouve dans un répertoire avec le Sticky-Bit positionné.

Si newpath existe il ne sera pas écrasé.

Valeur Renvoyée

symlink renvoie zéro s'il réussit ou -1 s'il échoue auquel cas errno contient le code d'erreur.

Erreurs

EPERM
le système de fichier contenant pathname ne permet pas la création de liens symboliques.
EFAULT
oldpath ou newpath pointent en dehors de l'espace d'adressage accessible.
EACCES
L'écriture dans le répertoire newpath est interdite pour l'UID effectif du processus, ou l'un des répertoire composant newpath ne permet pas l'exécution.
ENAMETOOLONG
oldpath ou newpath est trop long.
ENOENT
Un répertoire dans le chemin newpath n'existe pas ou est un lien symbolique pointant nulle part. Ou encore oldpath est une chaîne vide.
ENOTDIR
Un composant du chemin d'accès newpath n'est pas un répertoire.
ENOMEM
Pas assez de mémoire pour le noyau.
EROFS
Le fichier est sur un système de fichiers en lecture seule.
EEXIST
newpath existe déjà.
ELOOP
newpath contient une référence circulaire (à travers un lien symbolique).
ENOSPC
Le périphérique n'a plus assez de place pour une entrée de répertoire.
EIO
Une erreur d'entrée/sortie bas-niveau s'est produite.

Notes

Il n'y a pas de vérification de oldpath.

Effacer le nom référençant un lien symbolique effacera effectivement le fichier (à moins qu'il ait d'autres liens matériels). Si ce comportement est indésirable, utiliser link.

Conformité

SVr4, SVID, POSIX, BSD 4.3. SVr4 mentionne des codes d'erreur supplémentaires EDQUOT, et ENOSYS.

Bogues

Voir open(2) concernant les multiples fichiers avec le même nom, et NFS.

Voir Aussi

link(2) , readlink(2) , unlink(2) , rename(2) , open(2) , lstat(2) , ln(1) .

Traduction

Christophe Blaess, 1997.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"