Comment copier un lien symbolique?

43

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.

Utilisateur
la source
1
Est-ce que cpCentOS supporte -Pou --no-dereferencechange?
manatwork
@manatwork: Merci, il vient de constater que. Si vous voulez l'afficher comme réponse, je l'accepterai.
Utilisateur

Réponses:

57

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

Ceci peut être combiné à d'autres options, telles que la -Rcopie d'une hiérarchie de répertoires: cp -RLtraverse tous les liens symboliques vers des répertoires, cp -RPcopie tous les liens symboliques en tant que tels. cp -Rpeut faire l’un ou l’autre en fonction des variantes unix; Par cpdéfaut, GNU (tel que trouvé sur CentOS) -P.

Même avec -P, vous pouvez copier la cible d'un lien symbolique dans un répertoire de la ligne de commande en ajoutant a /à la fin: cp -RP foo/ barcopie l'arborescence de répertoires qui foopointe vers.

GNU cpa une pratique -aoption qui combine -R, -P, -pet 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 temps de modification et autres métadonnées.

Gilles, arrête de faire le mal
la source
3
Attention, une fois copié / déplacé, un lien symbolique peut être rompu (si la source est un lien symbolique vers un chemin relatif).
Stéphane Chazelas
3
y a-t-il un moyen d'éviter de casser les liens symboliques si vous passez à un répertoire plus élevé ou plus bas?
Andrew Brown
En note: "GNU cp" n’est pas la même chose que gcpce que j’utilise. gcp -Pest actuellement brisé, même en 2019. (soupir).
tgm1024
1

Cochez cette réponse sur https://superuser.com/a/315757/53590 pour une prise en charge spécifique de CentOS. Toute la question pourrait vous aider, mais le bit au bas est spécifiquement CentOS.

Simon Hoare
la source
1
Notez que d'autres peuvent choisir un ordre différent du vôtre pour lister les réponses. A côté de cela, l'ordre peut changer dans le temps. S'il vous plaît envoyer un lien direct à la réponse visée. (Cliquez sur le lien «Partager» ci-dessous pour répondre et copiez le lien direct qui apparaît.)
manatwork