¿Cómo puedo copiar el contenido de una carpeta a otra carpeta en un directorio diferente usando terminal?

524

Estoy intentando copiar el contenido de una carpeta en otra carpeta en un directorio diferente usando terminal.

¿Alguien podría proporcionarme un ejemplo de la sintaxis de la línea de comandos necesaria para lograr esto?

    
pregunta pandisvezia 11.12.2011 - 02:19

5 respuestas

793

Puedes copiar el contenido de una carpeta /source 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 archivo 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.

    
respondido por el enzotib 11.12.2011 - 13:01
96

Una alternativa es rsync

rsync -r source/ destination

Las ventajas de rsync son:

  1. Después de la sincronización inicial, solo copiará los archivos que hayan cambiado.

  2. Puede usarlo en una red, conveniente para archivos en $ HOME, especialmente archivos de configuración.

respondido por el Panther 11.12.2011 - 04:59
56

Digamos que tienes una carpeta llamada carpeta1 en tu ~ , dentro de carpeta1 hay 1 archivo llamado archivo1 y 2 carpetas llamadas < em> sub1 y sub2 cada uno con otros archivos y carpetas dentro de ellos.

Para copiar todos los contenidos de ~/folder1 a ~/new_folder1 , usaría

cp -r ~/folder1/. ~/new_folder1

new_folder1 contendría todos los archivos y carpetas de folder1 .

cp es el comando para copiar utilizando un terminal, -r lo hace recursivamente (por lo tanto, directorio actual + directorios adicionales dentro del actual) ~/folder1 es la carpeta de origen, ~/new_folder1 es la carpeta de destino para los archivos / carpetas dentro del origen.

    
respondido por el Bruno Pereira 11.12.2011 - 02:23
13

Consulte este enlace para obtener más información sobre cómo copiar la carpeta. Espero que esto ayude.

cp Command

cp es un comando de Linux para copiar archivos y directorios. La sintaxis es la siguiente:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

En este ejemplo copie la carpeta /home/vivek/letters y todos sus archivos en el directorio /usb/backup :

cp -avr /home/vivek/letters /usb/backup

Dónde,

-a : conserve los atributos especificados, como directorio, modo de archivo, propiedad, marcas de tiempo, si es posible, atributos adicionales: contexto, enlaces, xattr, todo.

-v : explica qué se está haciendo.

-r : copiar directorios recursivamente. Ejemplo

Copie una carpeta llamada / tmp / conf en / tmp / backup:

$ cp -avr /tmp/conf/ /tmp/backup
    
respondido por el Dilip Rajkumar 25.11.2014 - 06:53
2

Si hay dos carpetas: (con permiso de escritura)

drwxr-xr-x 4 vimal vimal  4096 Sep  9 12:17 .
drwxr-xr-x 3 root  root   4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal  4096 Sep  9 12:15 DATA
drwxrwxrwx 7 vimal vimal  4096 Sep  9 12:15 PORTAL

Si se encuentra dentro de la carpeta llamada PORTAL donde desea copiar todo el contenido de otra carpeta, diga DATA en el mismo nivel entonces harás

vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .

Debes notar 2 puntos. El último punto dice copiar aquí en la carpeta actual

y

uno siguiente / DATA /. dice que todos los CONTENIDOS dentro de la carpeta DATOS que se copiarán, y no la carpeta DATOS en sí.

Si elimina este seguimiento "." desde / DATA /

luego, toda la carpeta DATA se copiará dentro de PORTAL (desde donde se está enfrentando).

    
respondido por el vimal krishna 09.09.2015 - 12:39

Lea otras preguntas en las etiquetas