|
|
Copie-11 - Copier des liens symboliques
Navigation :
Page précédente : CP-10 - cp sans -a : copier en changeant les permissions Page suivante : CP-12 - Copier des liens en dur Toutes les pages sur la copie - Index de la section - Index de la Base de Connaissances On sait que les liens symboliques constituent un des deux types de liens en usage dans un système Linux. Copier des liens symboliquesLe 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. 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. ************************************************************************************** **************************************************************************************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. |
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 !