Utilice ditto para copiar archivos y directorios de forma inteligente desde la terminal de Mac

La mayoría de los usuarios de línea de comandos desde hace mucho tiempo confían en el comando cp para copiar archivos y directorios, pero Mac OS X ofrece otra solución con el comando ‘ditto’. Ditto es un poco más avanzado, pero puede ser ventajoso para ‘cp’ por varias razones, ya que no solo conserva los atributos y permisos de propiedad, sino también las bifurcaciones de recursos de archivos y los metadatos de archivos y carpetas, lo que básicamente asegura que el archivo y / o carpetas se copien exactamente .

Además, ditto se puede usar para copiar un archivo o carpeta a un directorio de origen, pero si ese origen aún no existe, ditto lo creará automáticamente. Además, si la carpeta de destino existe, el contenido copiado se combinará en ese directorio de destino. Finalmente, ditto también sigue enlaces simbólicos, lo que lo hace particularmente útil si eres un gran usuario del comando ln.

Para comprender mejor el comando ditto, veamos algunos ejemplos con sintaxis real.

Uso de Ditto para copiar archivos / carpetas

En su forma más simple, ditto funciona de manera muy similar al comando cp, con la sintaxis básica siguiente:

ditto source destination

Por ejemplo, si desea copiar ~ / Desktop / FluffyBackups en / Volumes / FluffyBackups /, simplemente escriba lo siguiente:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Nuevamente, esto conservará toda la propiedad y los detalles de los metadatos de recursos de los archivos copiados, lo que puede ser particularmente importante si está copiando archivos de un directorio de usuario a otro, o si desea preservar algo como las horas de modificación de los archivos.

Si no está seguro del contenido de origen y destino, siempre puede comparar los dos con el comando comm o el comando diff antes de continuar con el comando ditto.

Uso de Ditto para fusionar directorios y contenido de carpetas

Recuerde, ditto verificará si el destino ya existe y, si existe, fusionará los directorios del origen con el destino. Esto es importante y extremadamente útil, por lo que es una de las formas más fáciles de fusionar los directorios desde la línea de comandos en Mac OS X (aunque ahora también es fácil en el Finder).

ditto ~/Pictures/Fall2015/ /Volumes/PhotoBackup/2015/

Esto tomaría todas las imágenes de “Fall2015” y las copiaría en el directorio preexistente “2015”, fusionando efectivamente los contenidos desde el origen al destino. Nuevamente, el comportamiento de fusión ocurre cuando el destino ya existe, si el destino no existe, se crearía como se especificó o como el nombre de la fuente.

Si está usando ditto para copiar datos de directorios con enlaces simbólicos, usar la marca -V (verbose all) es valioso porque mostrará todos los archivos y enlaces simbólicos que se hayan copiado. Nota -V es diferente de -v, que solo mostrará archivos como salida y no enlaces simbólicos.

Copiar sin metadatos usando Ditto

Si por alguna razón no desea copiar metadatos y bifurcaciones de recursos, puede usar la marca –norsrc así:

ditto -V --norsrc ~/Sample/Folder /Volumes/NoMetadataBackups

El uso de la bandera –norsrc anula un beneficio principal de ditto, pero puede ser útil en algunos casos.

Puede aprender mucho más sobre el excelente comando ditto leyendo su página de manual, accesible en Mac OS X escribiendo:

man ditto

Como de costumbre, use las teclas de flecha para navegar hacia arriba y hacia abajo en la página del manual.

Antes de confiar mucho en ditto, asegúrese de probarlo varias veces con movimientos de archivos intrascendentes y fusiones de directorios para comprender cómo funciona con su uso planificado.

¡Si te ha gustado vota con 5 Estrellas!
(Votos: 0 Promedio: 0)

Escribe Aquí Tu Comentario