Pregunta Copie todos los archivos de una ubicación a otra en Linux, sin copiar el directorio


Quiero copiar algunos o todos los archivos de un directorio test/A/ al directorio test/B/, pero sin copiar el directorio A en sí.

Intenté el comando cp -R test/A/ test/B, pero copia el directorio y los archivos también y se convierte test/B/A/...


0


origen




Respuestas:


Cuando especifica test/A/le dices a Bash que copie el directorio.

Para copiar solo el contenido de un directorio, use el * glob:

cp -R test/A/* test/B

Aquí, * coincidirá con todos los archivos en A, excepto los ocultos con el prefijo de un punto, p. ej. .htaccess. Para incluir estos también con un *, llamada shopt -s dotglob antes de.


2





para obtener una copia idéntica localmente o remota, preferiría rsync encima cp. Esto le brinda un control mucho más preciso sobre lo que se debe copiar o incluso eliminar, ya sea en origen o destino, si así lo desea. Y, por cierto, corrige los problemas con los archivos ocultos (aka .*) El uso básico es tan simple como con cp aunque.

para copiar un directorio A y es contenido para B utilizar:

rsync -va test/A test/B

para copiar los contenidos del directorio A (incluidos los archivos ocultos) a B utilizar:

rsync -va test/A/ test/B

si B no existe, se creó


0