5 votos

¿Qué comando del shell clonará un directorio en lugar de hacer una copia profunda?

Deseo tomar una instantánea de un clon APFS de un directorio grande usando un shell script. En Finder, puedo simplemente Cmd-C, moverme a la otra carpeta, y Cmd-V y en pocos segundos tengo un duplicado que ocupa poco espacio extra en el disco. Usando el comando shell cp, tarda siglos y crea una copia que ocupa espacio en disco. ¿Qué comando del shell puede duplicar una carpeta "instantáneamente" de la misma manera que el Finder?

0 votos

pax creará una estructura de directorios y luego enlazará los archivos dentro de la estructura de directorios. Eso si el directorio clonado está en el mismo sistema de archivos. No estoy seguro de la velocidad.

0 votos

Quizás quieras mirar el comando 'ditto'. no estoy seguro de que sea más rápido que cp.

5voto

user314700 Puntos 66

El comando cp ahora toma la opción -c para crear clones de copia en escritura de archivos.

Desde el archivo man de cp:

-c    copy files using clonefile(2) 

Por ejemplo: cp -c my-file my-file-clone

0 votos

¿Has probado si esto también funciona combinado con -r ?

1 votos

@nohillside BSD's cp sólo admite mayúsculas -R y no ambos, como coreutils' de GNU cp utilidad. Para responder a la pregunta, sí, se puede emitir /bin/cp -cR o /bin/cp -ac .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X