Space Menu Home Downloads Goodies Newbie Area Documentation Knowledge Base E-Training Forum Blogs RPM Farm Linux Events
HistoryHistory |



Copie-11 - Copier des liens symboliques

On sait que les liens symboliques constituent un des deux types de liens en usage dans un système Linux.

Copier des liens symboliques

Le lien symbolique copié reste un lien symbolique...

Si vous faites une copie avec la commande 'cp' en utilisant l'option '-a' que nous avons illustrée abondamment dans les pages qui précèdent (mais aussi en utilisant l'option -P que nous verrons plus loin ou encore l'option -R que nous verrons aussi par la suite, ou encore avec l'option -d) la copie d'un lien symbolique sera elle-même un lien symbolique pointant vers le même chemin que celui vers lequel pointait le lien original.

Si vous faites, par exemple, une copie d'un de vos répertoires dans le répertoire d'un autre utilisateur, il se peut que vous ayez envie qu'un lien symbolique soit conservé comme lien dans la copie, afin que ce lien continue à pointer vers le fichier de référence.

Quand on copie des liens il faut 'faire un peu attention'… Si par exemple vous copiez un répertoire sur un disque amovible, n'oubliez pas que si vous copiez un lien qui pointe vers un fichier extérieur au répertoire avec l'option '-a', '-P' ou '-R' vous ne retrouverez pas l'usage du fichier quand vous grefferez votre disque amovible sur un autre système, du moins en général...

D'autre part la commande 'ln' peut définir pour un lien symbolique une adresse relative, du genre './fichier1', et dans un tel cas si vous voulez disposer de fichier1 à partir du lien copié il sera peut-être nécessaire de copier aussi fichier1...

Tout cela est trivial mais il ne faut pas oublier d'y penser !



Le lien symbolique copié devient un fichier 'normal'

Mais il est aussi des cas où vous préférerez sûrement qu'il n'en aille pas ainsi, précisément pour éviter les difficultés signalées dans l'encadré qui précède. C'est ce qui se passera si vous lancez 'cp' sans option, par exemple (ou aussi avec les options -L ou -d). En procédant ainsi, la commande 'cp' "suivra les liens", comme on dit dans ce cas, ce qui signifie que ce qui sera copié sera un fichier portant le même nom que le lien copié mais doté du contenu du fichier vers lequel pointait le lien d'origine...

Par exemple, si vous copiez sur une clé USB ou sur un disque dur externe un répertoire contenant un lien vers un fichier extérieur au répertoire copié, si vous voulez pouvoir disposer du fichier sur la clé, ou sur le disque, quand vous serez en déplacement, il faudra bien cette fois que vous copiiez le fichier lui-même, et non un simple lien. Vous pourrez pour cela lancer une commande de ce genre :

cp ~/Documents/poemes/*  /mnt/DISKUSB2.0

qui, comme on le sait depuis CP-8, copiera les fichiers à la racine de ~/Documents/poemes sur la clé USB.

Un éventuel lien symbolique ~/Documents/poemes/cygne, pointant, par exemple, vers le texte d'un poème, deviendra alors, sur la clé DISKUSB2.0, un véritable fichier texte, qui contiendra toutes les données incluses dans le fichier texte vers lequel pointait le lien symbolique 'cygne' de votre disque dur. Vous pourrez donc relire le poème à loisir lorsque vous serez loin au lieu de vous retrouver avec un lien pointant désespéremment dans le vide...

En matière de copie de liens, à vrai dire, on a surtout le choix entre différents inconvénients.

Le type de copie mis en oeuvre ici évite les inconvénients mentionnés dans le précédent encadré, mais… si d'aventure parmi les fichiers copiés plus d'un lien pointent vers le même fichier vous vous retrouverez avec plusieurs copies d'un même fichier original. Une situation qui d'une part peut consommer beaucoup d'espace disque et d'autre part peut créer des difficultés si vous souhaitez modifier le contenu du fichier… A vous donc de bien réfléchir à ce que vous souhaitez faire.

**************************************************************************************

Sur les questions abordées dans cette page, voir aussi les options -R et -P, ainsi que -L et -d.
**************************************************************************************

Toutes les pages sur la copie - Index de la section - Index de la Base de Connaissances


Page suivante : CP-12 - Copier des liens en dur
Auteur : ptyxs (février 2006)
Legal: This page is covered by the GNU Free Documentation License . Standard disclaimers of warranty apply. Copyright LSTB and Mandrakesoft.

RSS
KB.CPSummary > Copie-11 - Copier des liens symboliques (fr)
Creator: ptyxs  Date: 2006/02/28 07:35
Last Author: ptyxs  Date: 2006/10/14 10:40
Copyright (c) 2006 Mandriva