Utilice ídem para copiar archivos & directorios de forma inteligente desde la terminal Mac
Tabla de contenido:
- Uso de Ditto para copiar archivos/carpetas
- Uso de Ditto para fusionar directorios y contenido de carpetas
La mayoría de los usuarios de la 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 'ídem'. 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, esencialmente asegurando que el archivo y/o las carpetas se copian exactamente.
Además, ditto se puede usar para copiar un archivo o una carpeta a un directorio de origen, pero si esa fuente aún no existe, ditto la creará automáticamente. Además, si la carpeta de destino existe, los contenidos copiados se fusionarán en ese directorio de destino. Finalmente, ídem también sigue enlaces simbólicos, lo que lo hace particularmente útil si es un gran usuario del comando ln.
Para comprender mejor el comando ídem, veamos algunos ejemplos con sintaxis real.
Uso de Ditto para copiar archivos/carpetas
En su forma más simple, ditto funciona como el comando cp, con la sintaxis básica de la siguiente manera:
Idem al destino de origen
Por ejemplo, si quisiera copiar ~/Desktop/FluffyBackups a /Volumes/FluffyBackups/, simplemente escribiría lo siguiente:
ídem ~/Desktop/FluffyBackups /Volumes/FluffyBackups/
Nuevamente, esto conservará todos los detalles de metadatos de propiedad y 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 conservar algo como tiempos de modificación de archivos.
Si no está seguro acerca de los contenidos 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 comprobará si el destino ya existe y, si existe, fusionará los directorios del origen con el destino. Esto es importante y extremadamente útil, lo que lo convierte en 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).
ídem ~/Pictures/Fall2015/ /Volumes/PhotoBackup/2015/
Esto tomaría todas las imágenes de “Otoño 2015” y las copiaría en el directorio preexistente “2015”, fusionando efectivamente los contenidos desde el origen hasta el destino. Una vez más, el comportamiento de combinación se produce cuando el destino ya existe; si el destino no existe, se creará como se especifica o como el nombre de origen.
Si está usando ídem para copiar datos de directorios con enlaces simbólicos, usar el indicador -V (detallado todo) es valioso porque mostrará todos los archivos y enlaces simbólicos que se han copiado. Nota -V es diferente a -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 los metadatos y las bifurcaciones de recursos, puede usar el indicador –norsrc así:
ídem -V --norsrc ~/Sample/Folder /Volumes/NoMetadataBackups
Usar el indicador –norsrc anula un beneficio principal de ídem, pero puede ser útil en algunos casos.
Puede aprender mucho más sobre el excelente comando ídem leyendo su página de manual, accesible en Mac OS X escribiendo:
hombre ídem
Como de costumbre, use las teclas de flecha para navegar hacia arriba y hacia abajo en la página del manual.
Antes de confiar demasiado en ídem, asegúrese de probarlo varias veces con movimientos de archivos intrascendentes y fusiones de directorios para comprender cómo funciona con su uso planificado.