¿Cómo copio un enlace simbólico?

43

Tengo un enlace simbólico a un archivo en un directorio. Me gustaría tener ese mismo enlace en otro directorio. ¿Cómo copio un enlace simbólico?

Traté de cp el enlace simbólico pero esto copia el archivo al que apunta en lugar del enlace simbólico en sí.

Usuario
fuente
1
¿Es cpcompatible con CentOS -Po --no-dereferencecambia?
trabajo de
@manatwork: Gracias, acaba de encontrar eso. Si quieres publicarlo como respuesta, lo aceptaré.
Usuario

Respuestas:

57

Use cp -P(P mayúscula) para nunca atravesar ningún enlace simbólico y copie el enlace simbólico.

Esto se puede combinar con otras opciones, como -Rcopiar una jerarquía de directorios: cp -RLatraviesa todos los enlaces simbólicos a directorios, cp -RPcopia todos los enlaces simbólicos como tales. cp -Rpodría hacer uno u otro dependiendo de las variantes de Unix; GNU cp(como se encuentra en CentOS) tiene como valor predeterminado -P.

Incluso con -P, puede copiar el destino de un enlace simbólico a un directorio en la línea de comando agregando un /al final: cp -RP foo/ barcopia el árbol de directorios que fooapunta.

GNU cptiene un cómodo -aopción que combina -R, -P, -py un poco más. Realiza una copia exacta de la fuente (en la medida de lo posible), preservando la jerarquía de directorios, enlaces simbólicos, permisos, tiempos de modificación y otros metadatos.

Gilles 'SO- deja de ser malvado'
fuente
3
Tenga en cuenta que una vez copiado / movido, un enlace simbólico podría romperse (si el origen es un enlace simbólico a una ruta relativa).
Stéphane Chazelas
3
¿Hay alguna manera de evitar romper los enlaces simbólicos si te estás moviendo a un directorio superior o inferior?
Andrew Brown
Como nota: "GNU cp" no es lo mismo gcpque yo uso. gcp -PActualmente está roto, incluso en 2019. (suspiro).
tgm1024
1

Verifique esta respuesta https://superuser.com/a/315757/53590 para conocer específicamente el problema de CentOS. Toda la pregunta podría ayudarlo, pero la parte inferior es específicamente CentOS.

Simon Hoare
fuente
1
Tenga en cuenta que otros pueden elegir un orden diferente al suyo para enumerar las respuestas. Además de eso, el orden puede cambiar a tiempo. Por favor, publique un enlace directo a la respuesta referida. (Haga clic en el enlace "compartir" debajo de esa respuesta y copie el enlace directo que aparece)
Manatwork