SYMLINK
Section : Manuel du programmeur Linux (
2)
Mise à jour de la version anglaise : 26 juillet 2007
Index
Menu principal
NOM
symlink - Créer un nouveau nom pour un fichier
SYNOPSIS
#include <unistd.h>
int symlink(const char *cible, const char *nom);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
symlink() :
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
DESCRIPTION
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 l'élément
..
pour le chemin, qui (s'il est utilisé au début du lien) se
réfère au répertoire parent où le lien réside.
Un lien symbolique (aussi nommé « 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é.
VALEUR RENVOYÉE
Cet appel système renvoie zéro s'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
nom
est interdite, ou l'un des répertoire composant le
nom
ne permet pas le parcours.
(Voir aussi
path_resolution(7).)
- EEXIST
-
Le
nom
existe déjà.
- EFAULT
-
oldpath ou newpath
pointent en dehors de l'espace d'adressage accessible.
- EIO
-
Une erreur d'entrées-sorties 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.
- ENOSPC
-
Le périphérique n'a plus assez de place pour une entrée de répertoire.
- ENOTDIR
-
Un composant du chemin d'accès
nom
n'est pas un répertoire.
- EPERM
-
le système de fichiers contenant le
nom
ne permet pas la création de liens symboliques.
- EROFS
-
Le chemin
nom
est sur un système de fichiers en lecture seule.
CONFORMITÉ
SVr4, BSD 4.3, POSIX.1-2001.
NOTES
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, utilisez
link(2).
VOIR AUSSI
ln(1),
lchown(2),
link(2),
lstat(2),
open(2),
readlink(2),
rename(2),
symlinkat(2),
unlink(2),
path_resolution(7),
symlink(7)
TRADUCTION
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 2 juillet 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 symlink ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 2 juillet 2008