Estoy tratando de copiar el contenido de una carpeta a otra carpeta en un directorio diferente usando la terminal.
¿Podría alguien proporcionarme un ejemplo de la sintaxis de la línea de comandos necesaria para conseguirlo?
Puede copiar el contenido de una carpeta /fuente
a otra carpeta existente /dest
con el comando
cp -a /source/. /dest/
La opción -a
es una opción recursiva mejorada, que conserva todos los atributos de los archivos, y también conserva los enlaces simbólicos.
El .
al final de la ruta de origen es una sintaxis específica de cp
que permite copiar todos los archivos y carpetas, incluidos los ocultos.
Una alternativa es rsync
rsync -r source/ destination
Las ventajas de rsync son:
Después de la sincronización inicial, copiará sólo los archivos que hayan cambiado.
Puede utilizarlo a través de una red, conveniente para los archivos en $HOME, especialmente los archivos de configuración.
Digamos que tienes una carpeta llamada carpeta1 en tu ~
, dentro de carpeta1 hay 1 archivo llamado archivo1 y 2 carpetas llamadas sub1 y sub2 cada una con otros archivos y carpetas dentro de ellas.
Para copiar todo el contenido de ~/carpeta1
a ~/nueva_carpeta1
utilizarías
cp -r ~/folder1/. ~/new_folder1
La nueva_carpeta1
contendría entonces todos los archivos y carpetas de la carpeta1
.
cp
es el comando para copiar usando un terminal, -r
lo hace recursivamente (así, directorio actual + más directorios dentro del actual) ~/carpeta1
es la carpeta de origen, ~/nueva_carpeta1
es la carpeta de destino para los archivos/carpetas dentro del origen.