Linux |
CentOS 5.3 |
|
symlink(2) |
symlink − Créer un nouveau nom pour un fichier. |
#include <unistd.h> int symlink(const char *cible, const char *nom); |
symlink() crée un lien symbolique avec le nom indiqué, et qui pointe sur la cible. 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 (S_ISVTX) positionné. Si le nom existe il ne sera pas écrasé. |
symlink() renvoie zéro s’il réussit ou −1 s’il échoue auquel cas errno contient le code d’erreur. |
EACCES |
L’écriture dans le répertoire du nom est interdite pour l’UID effectif du processus, ou l’un des répertoire composant le nom ne permet pas le parcours. (Voir aussi path_resolution(2).) |
|
EEXIST |
Le nom 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 |
Le nom contient une référence circulaire (à travers un lien symbolique). |
ENAMETOOLONG |
cible ou nom est trop long. |
ENOENT |
Un répertoire dans le chemin nom n’existe pas ou est un lien symbolique pointant nulle part. Ou encore cible est une chaîne vide. |
||
ENOMEM |
Pas assez de mémoire pour le noyau. |
ENOTDIR |
Un composant du chemin d’accès nom n’est pas un répertoire. |
ENOSPC |
Le périphérique n’a plus assez de place pour une entrée de répertoire. |
||
EPERM |
le système de fichier contenant le nom ne permet pas la création de liens symboliques. |
||
EROFS |
Le fichier est sur un système de fichiers en lecture seule. |
Il n’y a pas de vérification de l’existence de la cible. 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(). |
SVr4, BSD 4.3, POSIX.1-2001. |
Voir open(2) concernant les multiples fichiers avec le même nom, et NFS. |
ln(1), link(2), lstat(2), open(2), path_resolution(2), readlink(2), rename(2), symlinkat(2), unlink(2) |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 15 octobre 1996 et révisée le 14 août 2006. 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 symlink ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
symlink(2) |