LN(1) Manuel de l'utilisateur Linux LN(1)
NOM
ln - Créer des liens entre fichiers.
SYNOPSIS
ln [options] source [dest]
ln [options] source... repertoire
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 `origi
nal' : 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 fichier 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écéssairement vers un fichier
existant. Lorsque l'on accède à un lien symbolique (avec
les appels systèmes 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. Toute
fois, 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èmes spéciaux lstat(2) et readlink(2) qui ren
voient le status du lien symbolique, et le nom du fichier
vers lequel il pointe. Pour de nombreux autres appels-
systèmes, il existe une frange d'incertitudes et de varia
tions 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
GNU 24 Novembre 1998 1
LN(1) Manuel de l'utilisateur Linux LN(1)
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'options --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éja).
On peut toutefois forcer l'écrasement avec l'option -f.
Avec les implémentations existant actuellement, seul le
Super-User peut créer un lien matériel sur un répertoire,
et encore, c'est souvent totalement impossible. POSIX
interdit aux appels-systèmes link(2) et à l'utilitaire ln
de créer des liens physique 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.
OPTIONS GNU
-d, -F, --directory
Autoriser le Super-User à 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 possi
bilités pour traiter la demande. ln peut con
sidé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
GNU 24 Novembre 1998 2
LN(1) Manuel de l'utilisateur Linux LN(1)
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 mes
sages 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 vari
able SIMPLE_BACKUP_SUFFIX n'existe pas, la valeur
par défaut est `~'.
-V METHODE, --version-control=METHODE
Préciser la nomenclature des fichiers de sauvegarde
La METHODE 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-con
trol' sous Emacs. Les METHODES valides (les
abbréviations non-ambigües sont acceptées) sont :
t, numbered
Toujours faire une sauvegarde numérotée.
nil, existing
Faire une sauvegarde numérotée des fichiers
GNU 24 Novembre 1998 3
LN(1) Manuel de l'utilisateur Linux LN(1)
en ayant déjà une précédente, et une sauveg
arde 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 terminer correctement.
--version
Afficher un numéro de version sur la sortie stan
dard, et 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 1003.2. Toutefois, POSIX 1003.2 (1996) ne parle pas
des liens symboliques. Ceux-ci ont été introduits par
BSD, et n'existent pas dans System V release 3 et
antérieurs.
VOIR AUSSI
ls(1), rm(1), link(2), lstat(2), open(2), readlink(2),
stat(2), unlink(2)
NOTES
Cette page décrit la version de ln se trouvant dans le
package fileutils-3.16. D'autres versions peuvent
diffèrer légèrement. Envoyez les corrections concernant
cette page de manuel (en anglais) à aeb@cwi.nl,
aw@mail1.bet1.puv.fi, et ragnar@lightside.ddns.org, et (en
francais) à ccb@club-internet.fr. Signalez les bugs dans
le programme à fileutils-bugs@gnu.ai.mit.edu.
TRADUCTION
Christophe Blaess, 1998.
GNU 24 Novembre 1998 4