web-dev-qa-db-fra.com

Comment copier un lien symbolique?

J'ai un lien symbolique vers un fichier dans un répertoire. Je voudrais avoir ce même lien dans un autre répertoire. Comment copier un lien symbolique?

J'ai essayé de cp le lien symbolique mais cela copie le fichier vers lequel il pointe au lieu du lien symbolique lui-même.

45
User

Utilisez cp -P (P majuscule) pour ne jamais traverser de lien symbolique et copiez le lien symbolique à la place.

Ceci peut être combiné avec d'autres options telles que -R Pour copier une hiérarchie de répertoires - cp -RL Traverse tous les liens symboliques vers les répertoires, cp -RP Copie tous les liens symboliques en tant que tels. cp -R Pourrait faire l'un ou l'autre selon les variantes unix; GNU cp (comme on le trouve sur CentOS) par défaut à -P.

Même avec -P, Vous pouvez copier la cible d'un lien symbolique vers un répertoire sur la ligne de commande en ajoutant un / À la fin: cp -RP foo/ bar Copie l'arborescence de répertoires qui foo pointe vers.

GNU cp a une option -a Pratique qui combine -R, -P, -p Et un peu plus. Il fait une copie exacte de la source (dans la mesure du possible), en préservant la hiérarchie des répertoires, les liens symboliques, les autorisations, les heures de modification et autres métadonnées.

Vérifiez cette réponse https://superuser.com/a/315757/5359 pour une version spécifique de CentOS sur le problème. Toute la question pourrait vous aider, mais le bit en bas est spécifiquement CentOS.

1
Simon Hoare