Quiero copiar un directorio de un lugar a otro a través de la línea de comando

127

Quiero copiar un directorio de un lugar a otro.

sudo cpes el comando, pero después de eso, ¿qué debo escribir? ¿El destino o la fuente primero?

pradeep
fuente
10
No man cpayudar?
Portablejim

Respuestas:

198

La -abandera es probablemente lo que estás buscando:

cp -a /path/from /path/to

El -aindicador activa el comportamiento recursivo (que también se puede hacer con el -Rindicador) y también intentará preservar metadatos como la propiedad del archivo, los permisos, las marcas de tiempo, los enlaces, etc.

Solo debe usarlo sudosi está copiando en una ubicación que no es propiedad del usuario actual, si el usuario actual no tiene permisos de lectura para los archivos que se están copiando o si desea conservar la propiedad de los archivos que no son propiedad del usuario actual usuario.

James Henstridge
fuente
44
Además, como regla general, siempre es así [command] [source] [destination]. Esto se aplica a mv, cp, ren.
Vineet Menon
1
@VineetMenon Probablemente quieras decir que mvno ren.
jcollado
@ jcollado: ya he añadido mv!!
Vineet Menon
@VineetMenon Sí, tienes razón, no vi que mvya estaba en la lista. De todos modos, mi punto era que, hasta donde yo sé, no hay ningún rencomando (a menos que tenga un alias o algo establecido).
jcollado
1
@jcollado: jaja ... ese era mi alias para rename...: D
Vineet Menon
28

Si desea copiar el directorio, utilice el siguiente comando:

sudo cp -R Source_Folder Destination_Folder

Este comando también se puede usar para copiar archivos, simplemente quitando el "-R" que se usa para copiar la estructura recursiva de las carpetas internas (si hay alguna en la ruta de Source_Folder que mencionamos).

Un ejemplo más:

sudo cp -R /var/www/* /home/test_user/

No dude en dejar un comentario en caso de cualquier problema.

Hrish
fuente
7

Para copiar la carpeta a través del terminal, puede usar

cp -a /source/. /dest/

La opción -a es una opción recursiva mejorada, que conserva todos los atributos del archivo y también conserva los enlaces simbólicos.

Los . Al final de la ruta de origen hay una sintaxis cp específica que permite copiar todos los archivos y carpetas, incluidos los ocultos.

Una alternativa es rsync

rsync -r source/ destination
shail
fuente
2

Creo que la mejor manera es usar el gksu nautiluscomando y puedes copiar lo que quieras con la GUI común como de costumbre.

Af Vtr
fuente
1
Eso supone que está utilizando una GUI y no CLI.
Phill Healey