Estoy tratando de entender qué cp --preserve=links
hace cuando se usa solo, según mis pruebas, parece que copia un archivo normal normalmente y elimina las referencias a los enlaces simbólicos, pero parece que tiene el mismo efecto que cp -L cuando se usa en un solo archivo.
¿Es eso cierto o hay algo que me estoy perdiendo?
Respuesta aceptada:
Los --preserve=links
La opción no se refiere a enlaces simbólicos, sino a enlaces duros. Pregunta cp
para conservar cualquier vínculo físico existente entre dos o más archivos que se están copiando.
$ date > file1
$ ln file1 file2
$ ls -1i file1 file2
6034008 file1
6034008 file2
Puede ver que los dos archivos originales están vinculados y su número de inodo es 6034008.
$ mkdir dir1
$ cp file1 file2 dir1
$ ls -1i dir1
total 8
6035093 file1
6038175 file2
Ahora puede ver que sin --preserve=links
sus copias tienen dos números de inodo diferentes:ya no existe un vínculo fijo entre los dos.
$ mkdir dir2
$ cp --preserve=links file1 file2 dir2
$ ls -1i dir2
total 8
6089617 file1
6089617 file2
Puedes ver ahora que con --preserve=links
, las dos copias aún están vinculadas, pero su número de inodo es 6089617, que no es el mismo que el número de inodo de los archivos originales (al contrario de lo que cp --link
hubiera hecho).