Estoy implementando un esquema de respaldo usando rsync y enlaces duros. Sé que puedo usar link-dest con rsync para hacer los enlaces duros, pero vi mención de usar "cp -l" antes de que "link-dest" se implementara en rsync. Otro método de hardlinking que conozco es "ln".
Entonces mi pregunta es, por curiosidad: ¿hay alguna diferencia en hacer enlaces duros usando "cp -l" en comparación con el uso de "ln"?
cp: illegal option -- l
¿estás seguro de que cp tiene una opción l?Respuestas:
Los resultados de ambos tienen que ser los mismos, ya que se crea un enlace duro al archivo original.
La diferencia está en el uso previsto y, por lo tanto, en las opciones disponibles para cada comando. Por ejemplo,
cp
puede usar la recursión mientrasln
que no puede:creará enlaces duros
<target>
a todos los archivos en<src>
. (crea nuevos directorios; no enlaces) El resultado será que la estructura de árbol de directorios debajo<target>
se verá idéntica a la que está debajo<src>
. Será diferente decp -r <src> <target>
que el uso de este último copiará cada archivo y carpeta y le dará a cada uno uno nuevo,inode
mientras que el primero solo usa enlaces duros en los archivos y, por lo tanto, simplemente aumenta suLinks
recuento.Cuando se usa para copiar un solo archivo, como en su ejemplo, los resultados serán idénticos.
fuente
link usa la menor cantidad de llamadas al sistema, seguido de ln y finalmente cp :
fuente