GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo copiar archivos en Linux usando el comando CP

Esta publicación trata sobre el comando cp de Linux.

Copiar archivos es una de las tareas más comunes cuando se manejan archivos en cualquier sistema operativo. Incluso es muy habitual utilizar el atajo de escritorio CTRL+c para copiar y CTRL+v para pegar. Sin embargo, en la terminal de Linux, también es una tarea bastante simple de hacer y para eso usamos el comando cp.

Comando cp de Linux

El comando cp simplemente copia uno o más archivos o carpetas de una ubicación a otra. Sin embargo, como cualquier comando de Linux, su comportamiento inicial puede modificarse gracias al uso de opciones.

De manera similar, el comando cp viene instalado y listo en todas las distribuciones de Linux, ya que es parte de las utilidades de GNU. Así que simplemente abra un emulador de terminal y comience a trabajar.

Comando Cp:sintaxis básica y opciones

El comando cp es bastante simple de usar porque su función también es simple. Como todos los comandos de la familia UNIX, tiene una sintaxis básica para su uso.

En el caso del comando cp, la sintaxis básica es la siguiente:

cp [option]... source... directory

Donde fuente se refiere al archivo o carpeta que se copiará a un destino llamado directorio.

Las opciones y alguna información básica sobre el comando se pueden ver usando el siguiente comando:

:~$ cp --help

Allí verás que hay varias opciones diferentes. Los más importantes son los siguientes:

Ahora, con algunos ejemplos, demostraremos el uso común del comando cp en un sistema Linux.

Usando el comando cp

Copiar uno o más archivos a una carpeta

Empecemos con lo básico. Para copiar un archivo a una determinada carpeta, el comando a ejecutar es el siguiente:

:~$ cp [file] [destination]

Por ejemplo:

:~$ cp file.txt /home/user/Documents/

El comando anterior copia un archivo llamado file.txt ubicado en la misma ubicación que el mensaje en la carpeta Documentos.

También puede copiar un archivo que se encuentre en una ubicación diferente a la del aviso, usando una ruta absoluta.

:~$ cp /home/user/Pictures/image.jpg /home/user/Documents

Entonces, si desea copiar varios archivos a la vez, simplemente sepárelos con un espacio en blanco.

:~$ cp file1.txt file2.txt /home/user/Downloads

Todavía puedes hacerlo con las rutas absolutas.

:~$ cp /home/user/file1.txt /home/user/Pictures/file2.jpg /home/user/Downloads

Así de rápido puedes copiar varios archivos.

Copiar todos los archivos de un directorio a una carpeta

También es posible copiar todos los archivos de una carpeta a otra. Para ello, utilice el operador asterisco (*). Por ejemplo:

:~$ cp * [destination]

O

:~$ cp * /home/users/Documents/folder/

Pero si quieres copiar todos los archivos que tengan la misma extensión, puedes hacerlo de la siguiente forma:

:~$ cp *.txt /home/users/Documents/folder/

Es decir, todos los archivos .txt se copian en la carpeta.

Copiando directorios con el comando cp

Hasta ahora te hemos enseñado a copiar archivos, pero ¿y si quisieras copiar una carpeta? Bueno, provoca un error.

Supongamos que desea copiar una carpeta llamada "ejemplo" en /home/angelo/Documentos, esto provocaría un error de directorio de omisión de cp
similar a este:

Para copiar carpetas con el comando cp, agregue la opción -r. Por ejemplo:

:~$ cp -r example/ /home/angelo/Documents/

Esto copiará toda la carpeta a la carpeta de destino.

Copia de seguridad de los archivos a copiar

Esta es una opción muy útil. Al copiar archivos es común que lo vayas modificando con el tiempo, pero siempre puedes quedarte con una copia del original.

Para crear la copia de seguridad, simplemente use el siguiente comando:

:~$ cp -ab [file] [destination]

Por supuesto, puede especificar el archivo y la carpeta que desee. Por ejemplo:

:~$ cp -ab file2.txt /home/angelo/Documents/example/

En este caso, estamos usando dos opciones simultáneamente. El primero es -a. trata explícitamente el archivo como lo que es, un archivo. Y el segundo que es -b es para realizar la copia de seguridad.

Lo que hace el comando es crear una copia de seguridad y agregar un ~ al final si hacemos la copia por segunda vez. Este será el archivo original de la copia.

:~$ ll /home/angelo/Documents/example

Solicitar confirmación antes de sobrescribir un archivo

Para evitar posibles errores en la escritura del archivo, puede utilizar la opción -i.

Con esta opción, se le pedirá que confirme antes de sobrescribir archivos para una copia. Para hacer esto, simplemente agregue la opción -i al comando:

:~$ cp -i file2.txt /home/angelo/Documents/example/

Recuerde, la advertencia solo aparecerá cuando se esté sobrescribiendo. Si copia muchos archivos pero ninguno se llama igual que otro en el destino, no se mostrará nada.

Evite sobrescribir archivos con el comando cp

El comando cp tiene una opción que evita que los archivos de la carpeta de destino se sobrescriban durante la copia.

Para hacer esto, simplemente agregue la opción -n al comando cp:

:~$ cp -n file.txt [destination]

Esta opción es útil si ya sabe que hay archivos que tienen el mismo nombre y quiere evitar sobrescribirlos. Por otro lado, también es útil si no tienes idea de si existen archivos similares.

Haga copias manteniendo los atributos del archivo

En los sistemas basados ​​en Unix, los archivos tienen atributos específicos. Por lo tanto, si un usuario diferente al que lo creó lo copia o lo mueve, se corre el riesgo de modificar los valores de estos atributos. Algunos de ellos son la fecha de modificación y los permisos de archivos.

Para evitar esto, agregue la opción -p al comando cp.

:~$ cp -p [file] [destination]

Así de sencillo es conservar los atributos durante la copia.

Actualización de una copia de seguridad con el comando cp

Es posible usar el comando cp para hacer una copia de seguridad de nuestros archivos en otra ubicación, como una memoria externa. Suponga que desea hacer una copia de seguridad de una carpeta con música en otra ubicación. Para hacer esto, usaría el siguiente comando:

:~$ cp -r [music_folder] [destination]

Pero resulta que está agregando nuevos archivos a esa carpeta y desea hacer una copia de seguridad de ellos nuevamente. Puede evitar que el comando cp vuelva a copiar los archivos de los que ya ha hecho una copia de seguridad y simplemente copie los que no están en la carpeta de destino.

Suena bien, ¿no? Bueno, para hacer eso usamos la opción -u o -update.

:~$ cp -ru [music_folder] [destination]

En resumen, el comando copiará la carpeta, verificará qué archivos de la carpeta de origen están en el destino. Y por último, copiará solo las que no lo sean.

Para ver todo el proceso, también puede agregar la opción -v.

:~$ cp -ruv [music_folder] [destination]

Por lo tanto, puede actualizar una copia de seguridad con un simple comando.

Reflexiones finales

El comando cp es un comando fácil de usar pero has visto que puedes hacer muchas cosas interesantes con él. Es parte de las utilidades de GNU, lo que hace que esté disponible para todas las distribuciones de Linux.

Por otro lado, en este post has aprendido una parte de lo que se puede hacer con el mando. Esto es muy útil en entornos de servidor pero también para profundizar más y más en el funcionamiento del sistema operativo.


Ubuntu
  1. Cómo cambiar el nombre de los archivos en Linux

  2. Cómo hacer una comparación línea por línea de archivos en Linux usando el comando diff - Parte II

  3. Cómo hacer una comparación línea por línea de archivos en Linux usando el comando diff

  4. Copiar archivos y directorios en Linux

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

Comando Rm en Linux

Cómo cambiar el nombre de los archivos usando la línea de comandos en Linux

Cómo crear un archivo en Linux usando el comando Cat

Cómo crear un archivo en Linux usando Terminal

Cómo copiar una gran cantidad de archivos en Linux

Cómo contar archivos en el directorio en Linux

    Opción Descripción según GNU utils
    -a Conserve tanto como sea posible la estructura y los atributos de los archivos originales en la copia
    -d Copie los enlaces simbólicos como enlaces simbólicos en lugar de copiar los archivos a los que apuntan y conserve los enlaces físicos entre los archivos de origen en las copias.
    -f o –force Esta opción fuerza la copia incluso si la carpeta de destino no está disponible para escritura.
    -i o –interactivo Muestra un mensaje cada vez que se sobrescribe un archivo.
    -l Haga enlaces duros en lugar de copias de no directorios.
    -R o -r o –recursivo Copiar directorios recursivamente. De forma predeterminada, no siga enlaces simbólicos en la fuente.
    -s o –enlace-simbólico En este caso, el comando creará enlaces simbólicos de todos los archivos que no sean carpetas. Esto reemplaza una copia.
    -u o –update Esta opción no copia archivos que tienen la misma marca de tiempo de modificación o una más reciente en la carpeta de destino. Es una actualización de una copia.
    -v o –verbose Imprima el nombre de cada archivo antes de copiarlo.