Cómo copiar archivos y directorios en Linux [14 ejemplos de comando CP]

Cómo copiar archivos y directorios en Linux [14 ejemplos de comando CP]

Breve: En esta guía fácil de seguir, discutiremos algunos ejemplos prácticos del comando CP. Después de seguir esta guía, los usuarios podrán copiar archivos y directorios fácilmente en Linux utilizando la interfaz de línea de comandos.

Como usuarios de Linux, interactuamos con los archivos y directorios de vez en cuando. Una operación común que realizan los usuarios es copiar archivos y directorios. Ciertamente, podemos usar un administrador de archivos gráfico para realizar la operación de copia. Sin embargo, la mayoría de los usuarios de Linux prefieren usar el CP comando debido a su simplicidad y rica funcionalidad.

En esta guía para principiantes, aprenderemos sobre el CP dominio. Como su nombre indica, el Comando CP se usa para copiar archivos y directorios en una ruta dada.

A lo largo de esta guía, comprenderemos el uso del Comando CP Uso de ejemplos prácticos que se pueden usar en el día a día.

Entonces empecemos.

Tabla de contenido

1
  • Sintaxis del comando CP
  • 1. Cómo copiar un archivo en Linux
  • 2. Mostrar progreso del comando de copia
  • 3. Cómo copiar múltiples archivos al directorio
  • 4. Cómo evitar sobrescribir el archivo
  • 5. Cómo sobrescribir el archivo con confirmación
  • 6. Sobrescribir el archivo solo si la fuente es más nueva
  • 7. Cómo hacer una copia de seguridad del archivo antes de sobrescribir
  • 8. Cómo forzar la copia para sobrescribir el archivo
  • 9. Cómo eliminar el archivo de destino antes de copiar
  • 10. Cómo crear un archivo de enlace duro en lugar de copiar
  • 11. Cómo crear un archivo de enlace suave en lugar de copiar
  • 12. Cómo preservar los atributos del archivo mientras copia
  • 13. Cómo realizar la operación de copia recursivamente
  • 14. Cómo copiar múltiples directorios

Sintaxis del comando CP

La sintaxis del CP El comando es idéntico a otros comandos de Linux. En un nivel alto, se divide en dos partes - opción y argumentos:

$ CP [Opciones] $ CP [Opciones] ..  

En la sintaxis anterior, los soportes cuadrados ([]) representar los argumentos opcionales mientras que los soportes angulares () representar los argumentos obligatorios.

1. Cómo copiar un archivo en Linux

Uno de los usos básicos del CP El comando es copiar un archivo en un directorio actual. La mayoría de las veces los usuarios realizan esta operación para tomar una copia de seguridad de la configuración importante.

Por ejemplo, a menudo creamos una copia de copia de seguridad del archivo/etc/ssh/sshd_config antes de actualizar la configuración SSH.

Para comprender el uso, creemos un archivo simple:

$ touch archivo-1.TXT 

A continuación, cree una copia del archivo usando el siguiente comando:

$ CP File-1.Archivo TXT-2.TXT 
Copiar archivo en Linux

2. Mostrar progreso del comando de copia

En el ejemplo anterior, utilizamos el comando LS para verificar si la operación de copia del archivo tuvo éxito o no. Sin embargo, no tiene sentido usar un comando más solo para verificar el resultado de los comandos anteriores.

En tales casos, podemos habilitar el modo detallado utilizando el -V opción, que proporciona diagnósticos para cada archivo procesado.

Hagamos una copia del archivo-1.TXT Archivo usando el siguiente comando:

$ CP -V File -1.archivo txt-3.TXT 
Mostrar salida de copia

En la salida anterior, la flecha representa el archivo que se está copiando. El argumento del lado izquierdo es el archivo fuente, mientras que el argumento del lado derecho es el archivo de destino.

3. Cómo copiar múltiples archivos al directorio

Hasta ahora trabajamos con un solo archivo y solo el directorio de trabajo actual. Sin embargo, en el entorno de producción real, tenemos que trabajar con una gran cantidad de archivos. Uno de los casos de uso común en tales entornos es copiar múltiples archivos en un solo directorio.

Obviamente, podemos ejecutar el comando CP varias veces para lograrlo, pero esa no será la forma más efectiva. Para realizar dicha operación de manera efectiva, podemos usar una sintaxis alternativa del comando CP.

Entonces, primero, cree un nuevo directorio con el nombre Dir-1:

$ Mkdir Dir-1 

Ahora, copiemos los tres archivos en el Dir-1 directorio usando el comando único:

$ CP -V File -1.Archivo TXT-2.archivo txt-3.txt dir-1 
Copiar múltiples archivos en Linux

La salida anterior muestra que todos los archivos se han copiado al Dir-1 directorio. Además, es importante tener en cuenta que, para usar esta sintaxis alternativa, el directorio ya debe estar presente y debe ser el último argumento del comando.

4. Cómo evitar sobrescribir el archivo

Por defecto, el CP El comando reemplaza el archivo de destino, lo que significa que sobrescribirá el archivo si existe en el destino con el mismo nombre. Sin embargo, podemos deshabilitar este comportamiento predeterminado utilizando el -norte opción.

Para comprender esto, intentemos sobrescribir el archivo existente:

$ cp -n -v file -1.Archivo TXT-2.TXT 

En este ejemplo, hemos usado el -V opción para ilustrar que el archivo-2.TXT el archivo no ha sido sobrescribido.

5. Cómo sobrescribir el archivo con confirmación

En el ejemplo anterior, vimos cómo evitar la sobrescribe del archivo de destino. Sin embargo, a veces queremos sobrescribir el destino del archivo de una manera más segura.

En tales casos, podemos usar el -i opción del comando para hacer que la operación de copia sea interactiva. Esta opción muestra el mensaje de advertencia y espera la confirmación del usuario antes de sobrescribir el archivo.

Para ilustrar esto, intentemos sobrescribir el archivo existente:

$ CP -I File -1.Archivo TXT-2.TXT CP: sobrescribir 'Archivo-2.TXT'? 

Como podemos ver, el comando está esperando confirmación. Al igual que otros comandos de Linux, podemos usar 'Y' para continuar o 'norte' para abortar la operación.

Este comportamiento no interactivo predeterminado del CP El comando no es muy seguro. Hay posibilidades de que el usuario pueda sobrescribir una configuración importante por error. Por lo tanto, algunas de las distribuciones de Linux hacen cumplir el comportamiento interactivo de forma predeterminada utilizando el comando alias:

$ alias cp = "cp -i" 

6. Sobrescribir el archivo solo si la fuente es más nueva

En el ejemplo anterior, vimos cómo usar el modo interactivo. Sin embargo, a veces, un usuario puede sobrescribir el archivo más nuevo sin darse cuenta.

Para evitar tales casos propensos a errores, podemos usar el -u opción, que intenta la operación de copia solo si la fuente es más nueva que el destino o si el archivo no está presente en el destino.

Primero, actualice la marca de tiempo del archivo fuente:

$ touch -T 10101010 archivo -1.TXT $ LS -L File -1.TXT 

En el ejemplo anterior, hemos usado el -T opción del comando touch para establecer la marca de tiempo del archivo en 10-OCT-20110.

A continuación, actualicemos la marca de tiempo del archivo de destino a la hora actual:

$ TOUCH FILE-2.TXT 

Ahora, intentemos realizar la operación de copia utilizando el -u opción:

$ cp -u -v file -1.Archivo TXT-2.TXT 

Aquí, podemos ver que la operación de copia no se ha intentado porque el archivo de destino es más nuevo que la fuente.

Finalmente, cambiemos los argumentos de origen y destino y realicemos la operación de copia:

$ cp -u -v file -2.archivo txt-1.TXT 

En la salida anterior, podemos observar que la operación de copia tiene éxito porque el archivo fuente es más nuevo que el destino.

Sobrescribir el archivo solo si la fuente es más nueva

7. Cómo hacer una copia de seguridad del archivo antes de sobrescribir

Podemos instruir al CP Comandar tomar una copia de seguridad del archivo de destino antes de sobrescribirlo. Para lograr esto podemos usar el --respaldo Opción, que realiza copias de seguridad automatizadas.

$ CP - -Backup = Numerado -V File -1.Archivo TXT-2.TXT 

En este ejemplo, hemos utilizado la política de copia de seguridad numerada. Esta política utiliza números incrementales en los nombres de los archivos de respaldo.

Para comprender esto, ejecutemos el mismo comando varias veces y observemos la salida:

$ CP - -Backup = Numerado -V File -1.Archivo TXT-2.txt $ cp --backup = numerado -v archivo -1.Archivo TXT-2.txt $ cp --backup = numerado -v archivo -1.Archivo TXT-2.TXT 
Archivo de copia de seguridad antes de sobrescribir

8. Cómo forzar la copia para sobrescribir el archivo

En los pocos ejemplos anteriores, vimos cómo sobrescribir el archivo de una manera más segura. Sin embargo, en algunos casos raros, el requisito es sobrescribir el archivo. Sin embargo, no hay garantía de que la operación tenga éxito cada vez.

Por ejemplo, la operación de copia fallará si el archivo de destino no tiene los permisos de escritura. Vamos a ilustrar esto con un ejemplo.

Primero, cambie los permisos del archivo de destino:

$ chmod 444 archivo-2.TXT $ LS -L File -2.TXT 

Ahora, intentemos sobrescribir el archivo-2.TXT archivo:

$ CP File-1.Archivo TXT-2.TXT 

En la salida anterior, podemos ver que el comando ha fallado con el error denegado.

Para superar esta limitación, podemos usar el -F opción, que elimina los archivos de destino e intenta la operación de copia si el archivo de destino no se puede abrir.

Ahora, usemos el -F opción para sobrescribir el archivo con fuerza:

$ cp -f -v file -1.Archivo TXT-2.TXT 
Forzar la copia para sobrescribir el archivo

9. Cómo eliminar el archivo de destino antes de copiar

En el ejemplo anterior, vimos cómo eliminar el archivo de destino si hay un error al operarlo. Sin embargo, a veces el requisito es eliminar primero el archivo de destino y luego realizar la operación de copia.

Para cumplir con tal requisito, podemos usar el --eliminar la destino opción.

$ CP-Remove-Destination -V File-1.Archivo TXT-2.TXT 
Eliminar el archivo de destino antes de copiar

En la salida anterior, podemos ver que el comando CP primero elimina el archivo de destino y luego realiza la operación de copia.

10. Cómo crear un archivo de enlace duro en lugar de copiar

Podemos crear un enlace difícil en lugar de crear una nueva copia del archivo de origen. Esta opción juega un papel importante cuando hay escasez de espacio en disco.

Entonces, usemos el -l opción para crear un enlace duro:

$ CP -L -V File -1.Archivo TXT-4.TXT 

Ahora, verifiquemos los números de inodo de ambos archivos para verificar los enlaces difíciles:

$ LS -I1 File -1.Archivo TXT-4.TXT 
Crear archivo de enlace duro en lugar de copiar

En la salida anterior, los números en la primera columna representan los números de inodo.

11. Cómo crear un archivo de enlace suave en lugar de copiar

De manera similar, podemos crear un enlace suave en lugar de crear una nueva copia usando el -s Opción como se muestra a continuación:

$ CP -S -V File -1.Archivo TXT-5.TXT 

Ahora, verifiquemos que el enlace simbólico se haya creado correctamente:

$ LS -L File -5.TXT 
Crear un enlace suave en lugar de copiar

En la salida anterior, las últimas columnas representan la relación de enlace simbólico.

12. Cómo preservar los atributos del archivo mientras copia

Hay varios atributos asociados con el archivo, como su tiempo de acceso, tiempo de modificación, permisos, etc. Por defecto, estos atributos no se conservan al copiar el archivo. Para anular este comportamiento predeterminado, podemos usar el -pag opción.

Para comprender esto, primero, actualice la marca de tiempo del archivo-1.TXT:

$ touch -T 10101010 archivo -1.TXT 

Ahora, creemos una copia de este archivo preservando todos sus atributos:

$ cp -p -v file -1.Archivo TXT-6.TXT 

Finalmente, verifique la marca de tiempo del archivo-6.TXT archivo:

$ LS -L File -6.TXT 
Preservar los atributos del archivo mientras copia

13. Cómo realizar la operación de copia recursivamente

Hasta ahora vimos cómo copiar un solo archivo. Sin embargo, a menudo tenemos que copiar todos los archivos y subdirectorios del directorio en particular.

En tales casos, podemos usar el modo recursivo utilizando el -riñonal o -Riñonal opción.

Entonces, creemos un directorio y agregemos algunos archivos y subdirectorios en él:

$ mkdir -p dir-1/dir-2 $ touch Dir-1/file-1.txt dir-1/dir-2/file-2.TXT 

A continuación, verifique que la estructura del directorio se haya creado correctamente:

$ Tree Dir-1 

Ahora, copiemos el directorio Dir-1 de recursiva utilizando el siguiente comando:

$ CP -R -V DIR -1 DIR -3 

Finalmente, verifique que todos los archivos y subdirectorios se hayan copiado con éxito:

$ Tree Dir-3 
Copiar archivos recursivamente

14. Cómo copiar múltiples directorios

Similar a los archivos, podemos copiar múltiples directorios recursivos utilizando un solo comando. Sin embargo, para lograr esto, el directorio de destino ya debe estar presente y debe ser el último argumento en el comando. Entendamos esto con un ejemplo.

Primero, cree un directorio un nuevo directorio:

$ Mkdir Dir-4 

Ahora, copiemos el Dir-1 y dir-3 directorios en el dir-4 directorio usando el siguiente comando:

$ CP -R -V DIR-1 DIR-3 DIR-4 

De manera similar, podemos usar el -T opción del comando para lograr el mismo resultado. Esta opción nos permite especificar el directorio de destino. Entonces también podemos usarlo como primer argumento:

$ CP -T DIR -4 -R -V DIR -1 DIR -3 
Copiar directorios múltiples

En este artículo, discutimos cómo copiar archivos y directorios utilizando el Comando CP. Los principiantes pueden referirse a estos ejemplos en la vida cotidiana mientras trabajan con Linux Systems.

También podría gustarte:

  • Cómo usar el comando "MV" en Linux [9 ejemplos útiles]
  • Progress - Mostrar porcentaje de datos copiados para comandos (CP, MV, DD, TAR)
  • Monitorear el progreso de los datos (copiar/copia de seguridad/compress) utilizando el comando 'PV'
  • Comando de copia avanzada: muestra la barra de progreso mientras copia archivos/carpetas grandes en Linux

¿Conoce algún otro mejor ejemplo del comando CP en Linux?? Háganos saber sus puntos de vista en los comentarios a continuación.