Unix: copia el contenido de un directorio a otro [cerrado]

90
Folder1/
    -fileA.txt
    -fileB.txt
    -fileC.txt

> mkdir Folder2/

> [copy command]

Y ahora se Folder2/ve así:

Folder2/
    -fileA.txt
    -fileB.txt
    -fileC.txt   

¿Cómo hacer que esto suceda? Lo intenté cp -r Folder1/ Folder2/pero terminé con:

Folder2/
    Folder1/
        -fileA.txt
        -fileB.txt
        -fileC.txt

Lo cual está cerca, pero no es exactamente lo que quería.

¡Gracias!

JDS
fuente

Respuestas:

124

Prueba esto:

cp Folder1/* Folder2/
Geoff
fuente
3
pero esto no copiará los archivos ocultos, ¿verdad?
Fabrizio Regini
9
Correcto. cp -Rwill, pero eso se copiará de forma recursiva, por lo que es posible que desee o no usarlo. Podría hacer cp Folder1/.* Folder2/para copiar solo los archivos ocultos.
Geoff
1
Tenga en cuenta que esto fallará si está usando "sudo" o un equivalente y el directorio contiene muchos archivos. Entiendosudo: unable to execute /bin/cp: Argument list too long
Nathan Osman
tenga en cuenta que SCP tiene una sintaxis ligeramente diferente, consulte aquí: stackoverflow.com/a/26346339/1984636
sivi
No hagas esto. Haga "cp -rT src dest" en Linux, o "cp -R src / dest" en BSD.
xpusostomos
47

Muy simple, con *comodín.

cp -r Folder1/* Folder2/

Pero según su ejemplo, la recursividad no es necesaria, por lo que lo siguiente será suficiente:

cp Folder1/* Folder2/

EDITAR:

O omita la mkdir Folder2parte y simplemente ejecute:

cp -r Folder1 Folder2
Koen.
fuente
Si, ls | sort -k1.5 | head -8 > folder1entonces, ¿cómo hacer eso?
Pooja
Acaba de perder todos sus archivos ocultos. No hagas esto. Haga "cp -rT src dest" en Linux, o "cp -R src / dest" en BSD.
xpusostomos
23

Para hacer una copia exacta, los permisos, la propiedad y todo, use "-a" con "cp". "-r" copiará el contenido de los archivos pero no necesariamente mantendrá el resto de cosas iguales.

cp -av Fuente / * Dest /

(asegúrese de que Dest / existe primero)

Si desea actualizar repetidamente de uno a otro o asegurarse de copiar también todos los archivos de puntos, rsynces de gran ayuda:

rsync -av --delete Source / Dest /

Esto también es "recuperable" en el sentido de que puede reiniciarlo si lo cancela durante la copia. Me gusta "-v" porque te permite ver lo que sucede, pero puedes omitirlo.

Brian White
fuente
1
¿cuál es la -vde?
HattrickNZ
detallado, solo para ver lo que está sucediendo.
Brian White
1
Si tiene muchos archivos, la -vopción puede llevar algún tiempo. Si no necesita la salida, use -asolo.
Eyal Levin
1
Tendría que estar ejecutando una conexión de red bastante lenta para que la copia se ralentice por la salida de texto. E incluso entonces, probablemente solo sea el retorno del símbolo del sistema, no la copia en sí.
Brian White
Perdiste tus archivos ocultos. Haga "cp -rT src dest" en Linux, o "cp -R src / dest" en BSD.
xpusostomos