LN
Section : Manuel de l'utilisateur Linux (
1)
Mise à jour de la version anglaise : Novembre 1998
Index
Menu principal
NOM
ln - Créer des liens entre fichiers
SYNOPSIS
ln [options]
source [dest]
ln [options]
source... répertoire
Options POSIX :
[-f] [--]
Options GNU (forme abrégée):
[-bdfinsvF]
[-S suffixe]
[-V {numbered,existing,simple}]
[--help] [--version] [--]
DESCRIPTION
Sous Unix, il existe deux types de « liens » entre fichiers, que l'on
nomme généralement liens matériels (ou physiques) et liens symboliques
(ou logiques).
Un lien matériel est simplement une manière de nommer
un fichier. Un fichier peut avoir plusieurs noms. Un fichier n'est effacé
réellement que lorsque son dernier nom est supprimé. Le nombre de noms
d'un fichier est indiqué par la commande
ls(1).
Il n'y a pas de notion de nom « original » : tous les noms d'un fichier ont
exactement la même importance. Tous les noms d'un fichier se trouvent
généralement - mais ce n'est pas obligatoire - dans le système de fichiers
contenant les données du fichier.
Un lien symbolique est d'un tout autre genre. Il s'agit d'un petit fichier
spécial, qui contient un chemin d'accès. Ainsi un lien symbolique peut
pointer vers un système de fichiers différent de celui qui l'accueille.
Il peut également pointer, grâce à NFS, vers un système de fichiers
appartenant à une autre machine. Enfin, un lien symbolique ne pointe
pas nécessairement vers un fichier existant.
Lorsque l'on accède à un lien symbolique (avec les appels système
open(2)
ou
stat(2)),
le nom du lien symbolique est remplacé, par le noyau Unix, par une
référence au fichier vers lequel le lien pointe.
Toutefois, avec les appels
rm(1)
et
unlink(2)
le lien lui-même est supprimé, et non pas le fichier visé.
Il existe des appels système spéciaux
lstat(2)
et
readlink(2)
qui renvoient le statut du lien symbolique, et le nom du fichier vers
lequel il pointe. Pour de nombreux autres appels système, il existe
une frange d'incertitudes et de variations entre les différents systèmes
pour savoir si la fonction s'applique au lien symbolique lui-même, ou au
fichier cible.
ln
crée des liens entre fichiers. Par défaut, il s'agit de liens matériels.
Si l'on utilise l'option
-s,
les liens seront symboliques (logiques).
Si l'on n'indique qu'un seul nom de fichier, un lien vers ce fichier
est créé dans le répertoire courant. Le nom de ce lien sera le même
que celui du fichier visé (il s'agit là d'une extension GNU).
Sinon, si le dernier argument indique un répertoire existant,
ln
créera des liens sur chacun des fichiers
source
indiqués dans ce répertoire. Les noms seront égaux à ceux des fichiers
source
visés. (Consultez toutefois l'option
--no-dereference
plus bas).
Si l'on indique seulement deux noms de fichiers, un lien sera créé avec
le nom
dest
pointant vers le fichier
source.
Il est interdit d'indiquer plus de deux arguments si le dernier nom n'est
pas un répertoire.
Par défaut,
ln
ne supprime pas les fichiers ni les liens symboliques existants.
(Ainsi on peut l'utiliser à des fins de verrouillage, il échouera
si
dest
existe déjà).
On peut toutefois forcer l'écrasement avec l'option -f.
Avec les implémentations existant actuellement, seul le superutilisateur peut
créer un lien matériel sur un répertoire, et encore, c'est souvent totalement
impossible. POSIX interdit aux appels système
link(2)
et à l'utilitaire
ln
de créer des liens physiques sur un répertoire (mais n'interdit pas les liens
matériels entre différents systèmes de fichiers).
OPTIONS POSIX
- -f
-
Forcer l'écrasement du fichier destination s'il existe.
- --
-
Fin explicite de la liste des options.
OPTIONS GNU
- -d, -F, --directory
-
Autoriser le superutilisateur à créer un lien physique sur un répertoire.
- -f, --force
-
Forcer l'écrasement du fichier destination s'il existe.
- -i, --interactive
-
Demander confirmation avant de supprimer les fichiers destination.
- -n, --no-dereference
-
Lorsque l'on fournit une destination explicite qui se trouve être
un répertoire, la considérer comme un fichier normal.
Lorsque la destination est un répertoire réel (et non pas un
lien symbolique sur un répertoire), il n'y a pas d'ambiguïté. Le lien
est créé dans ce répertoire. Mais lorsque la destination est un lien
symbolique vers un répertoire, il y a deux possibilités pour traiter
la demande.
ln
peut considérer la destination comme un répertoire normal,
et créer le lien dans celui-ci. D'un autre côté, la destination peut
également être considérée comme le lien symbolique lui-même à créer.
Dans ce cas,
ln
doit détruire, ou archiver, le lien existant avant de créer le nouveau lien.
Le comportement par défaut est de considérer la destination comme un
répertoire à part entière.
- -s, --symbolic
-
Créer des liens symboliques à la place des liens physiques. Cette option
produit souvent des messages d'erreurs sur les systèmes qui ne supportent
pas les liens symboliques.
- -v, --verbose
-
Afficher le nom de chaque fichier avant de le lier.
OPTIONS DE SAUVEGARDE GNU
Les versions GNU des programmes comme
cp,
mv,
ln,
install
et
patch
créeront au besoin une copie de sauvegarde des fichiers à écraser,
à modifier ou à détruire.
On demande une copie de sauvegarde à l'aide de l'option -b,
on indique la nomenclature à adopter avec l'option -V, et si
la sauvegarde se fait avec un suffixe, celui-ci est précisé avec l'option -S.
- -b, --backup
-
Créer une copie de sauvegarde des fichiers à écraser ou à détruire.
- -S SUFFIXE, --suffix=SUFFIXE
-
Ajouter le
SUFFIXE
indiqué à chaque fichier de sauvegarde créé.
Si cette option n'est pas indiquée, on utilisera la valeur de la variable
d'environnement
SIMPLE_BACKUP_SUFFIX.
Si la variable
SIMPLE_BACKUP_SUFFIX
n'existe pas, la valeur par défaut est « ~ »'.
- -V MÉTHODE, --version-control=MÉTHODE
-
-
Préciser la nomenclature des fichiers de sauvegarde
La
MÉTHODE
indiquée peut être « numbered » (« t »), « existing » (« nil »), ou « never » (« simple »).
Si cette option n'est pas indiquée, la valeur de la variable
d'environnement
VERSION_CONTROL
est utilisée, et si la variable
VERSION_CONTROL
n'existe pas, la valeur par défaut est « existing ».
Cette option correspond à la variable « version-control » sous Emacs.
Les
MÉTHODES
valides (les abréviations non-ambiguës sont acceptées) sont :
- t, numbered
-
Toujours faire une sauvegarde numérotée.
- nil, existing
-
Faire une sauvegarde numérotée des fichiers en ayant déjà une précédente, et
une sauvegarde simple pour les autres.
- never, simple
-
Faire toujours une sauvegarde simple.
OPTIONS STANDARDS GNU
- --help
-
Afficher un message d'aide sur la sortie standard, et se terminer correctement.
- --version
-
Afficher un numéro de version sur la sortie standard, et se terminer correctement.
- --
-
Fin de la liste d'options.
ENVIRONNEMENT
Les variables LANG, LC_ALL, LC_CTYPE et LC_MESSAGES
ont leurs significations habituelles.
CONFORMITÉ
POSIX.2. Toutefois, POSIX.2 (1996) ne parle pas des liens symboliques.
Ceux-ci ont été introduits par BSD, et n'existent pas dans
Système V release 3 et antérieurs.
NOTES
Cette page décrit la version de
ln
trouvée dans le paquetage fileutils-4.0, d'autres versions
peuvent différer légèrement.
VOIR AUSSI
ls(1),
rm(1),
link(2),
lstat(2),
open(2),
readlink(2),
stat(2),
unlink(2)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 24 novembre 1996
et révisée le 25 avril 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 1 ln ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS POSIX
-
- OPTIONS GNU
-
- OPTIONS DE SAUVEGARDE GNU
-
- OPTIONS STANDARDS GNU
-
- ENVIRONNEMENT
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 26 mai 2008