13 formas de usar el comando copiar en Linux (con ejemplos)

[*]

BComo usuario de Linux, copiar archivos y directorios es una de las tareas diarias que tienes que realizar. Puede copiar un archivo para hacer una copia de seguridad o copiarlo en otra partición, directorio o unidad de almacenamiento externo.

Con los sistemas Unix y todas las distribuciones de Linux, tiene dos formas de copiar un archivo: utilizando el método gráfico y el método de línea de comandos. En este artículo en particular, veremos el método de la línea de comandos usando el comando cp.

CP significa Copia en sistemas Linux. El comando generalmente toma dos argumentos principales: el archivo para copiar y el destino para pegar el archivo. Esto se ilustra con la siguiente sintaxis:

  • cp [file_to_copy] [destination_to_paste]
  • cp [file_to_copy] [directory_to_paste]
  • cp [file_to_copy_One] [file_to_copy_Two] [destination_to_paste]
  • cp [option] [file_to_copy] [destination_to_paste]

Echemos un vistazo a los comandos anteriores. Las opciones uno y dos son copiar un archivo a un directorio u otro destino, como una partición o almacenamiento de medios externos. Opción tres, copia varios archivos a un directorio / carpeta. Por último, la opción cuatro copia un archivo en un directorio, pero también permite a los usuarios agregar argumentos adicionales como -v, lo que significa detallado.

Índice

A continuación se muestran 13 ejemplos de comandos de CP para usuarios de Linux:

1. Copie un archivo en el mismo directorio pero con un nombre diferente.

Es un método que puede utilizar para realizar una copia de seguridad de un archivo con un nombre diferente. La sintaxis es la siguiente:

cp [file_to_copy] [file_new_name]

cp testFile fileone

copie un archivo en un directorio con un nombre diferente.
copie un archivo con CP a un directorio con un nombre diferente.

De la imagen de arriba, cuando ejecutamos el comando ls, vemos que hemos creado un duplicado del testFile con el nombre fileOne.

2. Copie un solo archivo en un nuevo directorio.

Suponga que desea copiar un archivo y pegarlo en otro directorio, use la siguiente sintaxis:

cp [source] [directory/]

cp testFile UBUNTU

copiar un archivo en un directorio
copiar un archivo en un directorio

De la imagen de arriba, tenemos un archivo llamado testFile en el directorio 'FOSSLINUX' en el Escritorio. Queremos copiarlo al directorio UBUNTU dentro del directorio FOSSLINUX usando el comando en la imagen. Al ejecutar el comando ls en el directorio UBUNTU, vemos que hemos copiado correctamente el archivo.

3. Copiar varios archivos en un directorio

Suponga que tiene varios archivos que desea poner en un directorio, no necesita ejecutar un solo comando para cada uno de ellos. A continuación se muestra la sintaxis que usaremos:

cp [file_to_copy_One] [file_to_copy_Two] [file_to_copy_Three] [destination_to_paste/]

cp testFile testFile2 testFile3 UBUNTU/

Copiar varios archivos en un directorio
Copiar varios archivos en un directorio

De la imagen de arriba, hemos copiado los archivos - testFile testFile2 y testFile3 al directorio UBUNTU con un solo comando.

4. Utilice el comando CP para copiar todos los archivos en un directorio.

El comando anterior nos mostró cómo podíamos copiar varios archivos en un directorio. El método es eficaz solo para una cantidad relativamente pequeña de archivos, ya que puede llevar mucho tiempo. Si desea copiar todo el contenido presente en un directorio, existe un método aún más sencillo: usar el signo de asterisco '*'. Vea la sintaxis a continuación:

cp [*] [destination directory]

cp * /home/tuts/Desktop/FOSSTUTS/

Copie TODOS los archivos en un directorio
Copie TODOS los archivos en un directorio

De la imagen de arriba, hemos copiado todos los archivos en el directorio FOSSLINUX en el Escritorio al directorio FOSSTUTS.

5. Utilice el comando cp para copiar archivos de forma interactiva.

Es un método eficaz para copiar varios archivos a un directorio. Si el directorio de destino tiene un archivo similar al del directorio de origen, le da una advertencia preguntándole si debe sobrescribir el archivo. Es posible usar el parámetro '-i'. Vea la sintaxis a continuación:

cp -i [files_to_copy] [destination_directory]

cp -i * /home/tuts/Desktop/FOSSTUTS/

Copiar archivos de forma interactiva con el parámetro -i
Copiar archivos de forma interactiva con el parámetro -i

De la imagen de arriba, estamos copiando archivos del directorio FOSSLINUX al directorio FOSSTUTS. Sin embargo, dado que el directorio FOSSTUTS contiene archivos similares a los del directorio fuente - FOSSLINUX, aparece un mensaje para saber si sobrescribir el archivo. Ingrese 'y' para SÍ y 'n' para NO.

6. Utilice CP para copiar archivos con la opción detallada (-v).

Como la mayoría de los comandos de Linux, puede usar el comando CP con la opción '-v' detallada. Vea la sintaxis a continuación:

cp -v [files_to_copy] [destination_folder]

cp -v testFile5 UBUNTU/

Copiar archivos con la opción Verbose
Copiar archivos con la opción Verbose

De la imagen de arriba, agregamos el parámetro detallado '-v', que nos da un resultado / informe de la acción que realizamos.

También podemos usar parámetros detallados e interactivos en un comando, como se muestra en la imagen a continuación. La sintaxis es la siguiente:

cp -iv [files_to_copy] [destination_to_copy]

cp -vi * /home/tuts/Desktop/FOSSTUTS/

Usando un método detallado e interactivo
Usando un método detallado e interactivo

7. Utilice CP para copiar un directorio y su contenido de forma recursiva.

Para copiar un directorio a otro destino, necesitamos usar el parámetro ro R, que significa 'recursivo'. La sintaxis es la siguiente:

cp [source_directory] [destination_directory]

cp -R /home/tuts/Desktop/FOSSLINUX/* /home/tuts/Desktop/FOSSTUTS/

Copiar un directorio de forma recursiva
Copiar un directorio de forma recursiva

De la imagen de arriba, hemos copiado todo el contenido del directorio FOSSLINUX al directorio FOSSTUTS. Cuando ejecutamos el comando ls en el directorio FOSSTUTS, vemos que tiene contenidos similares a los del directorio FOSSLINUX.

8. Archive archivos y directorios usando el comando CP.

Con el comando cp, puede archivar archivos y directorios mientras los copia en el almacenamiento de destino. Usamos el parámetro -a. La sintaxis es la siguiente:

cp -a [files_to_copy] [destination_directory]

Usaremos el comando en el ejemplo anterior solo que agregaremos el parámetro -a.

cp -a /home/tuts/Desktop/FOSSLINUX/* /home/tuts/Desktop/FOSSTUTS/

Archivar archivos usando el comando cp
Archivar archivos usando el comando cp

9. Copie solo archivos nuevos que no sean los del directorio de destino.

Suponga que siempre realiza copias de sus archivos en otro directorio, puede hacer uso del parámetro -u que solo copia los archivos más nuevos en comparación con los del destino de destino. Por ejemplo, tenemos dos directorios aquí, FOSSLINUX y FOSSTUTS.

Ambos tienen tres archivos similares en ellos: testFile1 testFile2 y testFile3. Hacemos cambios en testFile1 en el directorio FOSSLINUX y lo copiamos en el directorio FOSSTUTS usando el parámetro -u y -v (detallado) y vemos qué sucede. Vea la sintaxis a continuación:

cp -u [source_directory] [destination_directory]

copiar solo los archivos más nuevos
copiar solo los archivos más nuevos

En la imagen de arriba, vemos que aunque dimos el comando para copiar todos los archivos, solo se copió el archivo con las últimas ediciones.

10. Evite sobrescribir archivos existentes cuando utilice el comando cp.

En el ejemplo anterior, hablamos de usar el parámetro -i (interactivo), que le pregunta si debe sobrescribir los archivos existentes o no. Sin embargo, si no desea sobrescribir ningún archivo, existe un método más sencillo: usar el parámetro -n. Vea la sintaxis a continuación:

cp -n [files_to_copy] [destination_directory]

Veamos la imagen de abajo.

copiar archivos sin sobrescribir n usando el parámetro -n
copiar archivos sin sobrescribir usando el parámetro -n

En el primer comando, usamos el parámetro -i, que nos pregunta si sobrescribir el archivo testFile1. En el segundo comando, usamos el parámetro -n, y no generó ningún mensaje ni sobrescribió el archivo. Es un método eficaz cuando se trabaja con muchos archivos.

11. Cree un enlace simbólico con el comando cp.

Además de copiar archivos, también puede usar el comando cp para crear un enlace simbólico. Usaremos el parámetro -s. La sintaxis es la siguiente:

cp -s [Link_file] [Target_File]

cp -s /home/tuts/Desktop/FOSSLINUX/testFile1 /home/tuts/Documents/

crear un enlace simbólico con el comando cp
crear un enlace simbólico con el comando cp

Como se ilustra en la imagen de arriba, hemos creado un enlace simbólico al directorio de Documentos usando testFile1 en el directorio FOSSLINUX en el Escritorio.

12. Cree un vínculo físico con el comando cp.

Así como hemos creado un enlace suave en el ejemplo anterior, también podemos usar el comando cp para crear un enlace físico. Usaremos el parámetro -l. Consulte la figura siguiente.

Cree un enlace físico usando el comando cp
Cree un enlace físico usando el comando cp

A diferencia de un enlace flexible, con el enlace físico, el archivo de origen y el enlace tienen los mismos números de inodo. Ejecutemos el comando ls -l para verificar.

13. Copia de atributos de archivo / directorio con el comando cp.

Puede utilizar el comando cp para copiar solo los atributos de un archivo. Vea la sintaxis a continuación:

cp [--attributes-only] [source_file] [destination_file]

copiar solo atributos de un archivo
copiar solo atributos de un archivo

De la imagen de arriba, copiamos los atributos de testFile2 en el directorio FOSSLINUX al directorio FOSSTUTS. Cuando ejecutamos el comando ls -l, podemos ver que testFile2 en el directorio FOSSLINUX tiene un tamaño de 2773 bytes mientras que el testFile2 copiado en el directorio FOSSTUTS tiene cero (0) bytes. Es porque solo se copiaron los atributos del archivo y no el contenido.

Conclusión

De los ejemplos anteriores, vemos que puede realizar mucho más con el comando cp además de copiar archivos y directorios. Estos comandos pueden funcionar en cualquier distribución de Linux que utilice, incluidos Ubuntu, Debian, Fedora y Arch Linux. ¿Hay algún comando cp que le gustaría compartir con nuestros lectores? No dude en publicar en la sección de comentarios a continuación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir