¿Cómo copiar en bash todos los directorios y archivos recursivos?


137

Tengo script:

find ./SourceFolder/ -maxdepth 4 -exec cp -R '{}' ./DestFolder/ \;

SourceDir contiene también subcarpetas.

Problema que DestFolderno solo en todos los árboles, sino en el nivel superior de todos los demás niveles y archivos.

Como arreglar ?


Lo sentimos, olvidé agregar -name "* .txt"
user710818

Respuestas:


289
cp -r ./SourceFolder ./DestFolder

66
Entonces, para aclarar, la opción capital -R copiará el directorio raíz nuevamente; La opción small -r mantiene las rutas raíz iguales.
AnneTheAgile

8
@AnneTheAgile: de mis pruebas en este momento y de acuerdo con las páginas de manual, -r y -R no difieren.
aaaaaa

@aaaaaa, ty! ¿en qué sistema operativo / versión estás? Más tarde descubrí que parece que los comandos bash pueden diferir sutilmente entre los sistemas operativos.
AnneTheAgile

2
cpno es un comando bash sino un ejecutable separado, por lo que es específico del sistema. Los verdaderos comandos bash, por otro lado, son los mismos en todos los sistemas operativos.
lanzz

52

código para una copia simple.

cp -r ./SourceFolder ./DestFolder

código para una copia con resultado exitoso

cp -rv ./SourceFolder ./DestFolder

código para Forzosamente si la fuente contiene algún archivo de solo lectura, también copiará

cp -rf ./SourceFolder ./DestFolder

para detalles ayuda

cp --help
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.