GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo copiar un directorio en la línea de comandos de Linux [Consejo para principiantes]

Si es nuevo en la línea de comandos de Linux, probablemente tenga esta pregunta en mente:¿Cómo copio un directorio y los archivos que contiene a otro directorio en la línea de comandos de Linux?

Aquí se explica cómo copiar un directorio en Linux:

cp -r source_directory destination_directory

Probablemente ya sepa que puede usar el comando cp para copiar archivos en Linux. ¿Sabe que puede usar el mismo comando cp para copiar una carpeta en la línea de comandos de Linux?

¡Ja! Ya lo intentaste y tal vez recibiste este error:

cp: -r not specified; omitting directory 'test_dir'

Déjame mostrarte una o dos cosas sobre la copia de directorios en Linux.

Copiar directorio en la línea de comandos de Linux

Definitivamente puede usar el mismo comando cp pero con la opción recursiva -r para copiar una carpeta con su contenido a otra carpeta. El error mencionado anteriormente también sugiere que te perdiste la opción -r.

Todo lo que tienes que hacer es usar el comando de esta manera:

cp -r source_directory destination_directory

Y ahora, si usa el comando ls en el directorio de destino, debería tener todo el directorio de origen dentro.

La opción -r permite la opción recursiva. Esto significa que todo el contenido del directorio, incluidos sus propios subdirectorios, todo en el directorio se copiará en el destino.

Algunas cosas a tener en cuenta sobre la copia de directorios en Linux

Aquí hay un par de cosas a tener en cuenta y consejos sobre cómo copiar carpetas.

¿El directorio de destino no existe? Será creado

Si el directorio de destino no existe (pero existe la ruta), se creará hasta un nivel (se explica en la siguiente sección). Sin embargo, ahora copiará el contenido del directorio de origen, no el directorio de origen en sí.

Por ejemplo, si haces esto:

cp -r source_directory non_existing_directory

El directorio_no_existente se creará con el contenido del directorio_fuente pero no tendrá el directorio_fuente dentro. Solo se copiarán los archivos de source_directory. Sería como si directorio_no_existente fuera una réplica de directorio_fuente.

[email protected]:~$ ls
test_dir
[email protected]:~$ cp -r test_dir new_dir
[email protected]:~$ tree
 .
 ├── new_dir
 │   ├── c.xyz
 │   ├── myzip1.zip
 │   └── myzip2.zip
 └── test_dir
     ├── c.xyz
     ├── myzip1.zip
     └── myzip2.zip
 2 directories, 6 files

No se puede crear un directorio anidado mientras se copia

No puede usar el comando anterior para crear una estructura de directorio anidada.

Por ejemplo, si intenta usar cp -r source_dir dir1/dir2/dir3 pero dir2 y dir3 no existen, no creará la estructura de directorios anidados y el comando falla.

Preservar los atributos del archivo original

Un último consejo para acortar las cosas. Si usa la opción -a junto con la opción -r, se conservará la información del archivo original, como los permisos de archivo, las marcas de tiempo del archivo, etc. Se archivará el directorio en la nueva ubicación en lugar de crearlo de nuevo.

Eso es

Esta cantidad de información debería ser suficiente para que sepas cómo copiar un directorio en Linux. Si tiene preguntas o sugerencias, no dude en dejar un comentario.


Linux
  1. Cómo reiniciar Linux usando la línea de comandos

  2. Comando cp de linux

  3. linux:cómo ejecutar un comando en un directorio dado

  4. Usando el comando cp en Linux Shell, ¿cómo copio un directorio completo en otro directorio?

  5. ¿Cómo puedo copiar una carpeta desde la línea de comandos de Linux?

Cómo mover un directorio en Linux

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos

Cómo actualizar Ubuntu Linux [Consejo para principiantes]

Cómo copiar un directorio en Linux

Cómo contar archivos en el directorio en Linux

Cómo encontrar la dirección IP en la línea de comandos de Linux