GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo copiar un archivo con un comando a varios directorios en Linux

Copiar un archivo en un sistema operativo Linux es sencillo, ya sea usando la línea de comandos o de forma gráfica. Sin embargo, algunos usuarios prefieren la línea de comandos para realizar casi todas las tareas. La línea de comandos no solo ofrece la forma fácil sino también la más rápida de realizar una tarea. Cp es el comando en Linux que se usa para copiar un archivo de una ubicación a otra. Pero, ¿qué sucede si necesitamos copiar un archivo en varias ubicaciones? Hay una manera en la que puedo mostrar cómo lograr eso en Linux.

Hemos ejecutado los comandos y el procedimiento mencionados en este artículo en un sistema operativo Debian 10, pero también funcionarán en cualquier otra distribución de Linux.

Primero veamos cómo podemos usar el comando cp para copiar los archivos de una ubicación a otra. La sintaxis general para copiar los archivos usando el comando cp es:

$ cp ~[/location/sourcefile] ~[/destinationfolder]

Un ejemplo de esto sería copiar el archivo de prueba1 del directorio de Documentos al directorio de Descargas. Para eso, ejecuté el siguiente comando en la terminal:

$ cp ~/Documents/testfile1 ~/Downloads/

Ahora, cuando tenemos que copiar el archivo en varias ubicaciones, tenemos que ejecutar los comandos varias veces. Por ejemplo, en el siguiente ejemplo, estamos copiando el archivo de prueba1 de Documentos a dos ubicaciones diferentes, es decir, Descargas y Escritorio. Para eso, tenemos que ejecutar los comandos cp dos veces en la Terminal:

$ cp ~/Documents/testfile1 ~/Downloads/

$ cp ~/Documents/testfile1 ~/Desktop/

Copiar un archivo a múltiples ubicaciones usando el comando echo

Copiar un archivo en dos ubicaciones mediante el comando cp sigue siendo aceptable, pero supongamos que tenemos que copiar el archivo en cuatro, cinco o más ubicaciones. en ese caso, tenemos otra solución que usa el comando echo. La sintaxis del comando sería:

$ echo [destination1] [destination2] [destiantion3]..... | xargs -n 1 cp [/location/sourcefile]

El comando echo generalmente se usa en scripts de shell para imprimir un mensaje o mostrarlo en la pantalla. Pero aquí, en este ejemplo, lo usaremos para enviar la salida al comando xargs a través de | símbolo. Los xargs obtendrán entrada tres veces del comando echo y realizarán las operaciones cp tres veces, copiando el archivo de prueba en 3 ubicaciones diferentes. el indicador n en el comando anterior le indicará al comando cp que tome un argumento a la vez.

Tenga en cuenta que este comando sobrescribirá un archivo ya existente con el mismo nombre en el directorio de destino. Por lo tanto, es mejor hacer una copia de seguridad del archivo importante.

En el siguiente ejemplo, estamos usando este comando para copiar el archivo de prueba1 del directorio Documentos a tres directorios diferentes que son Escritorio, Descargas y Música. Para eso, hemos ejecutado el siguiente comando:

$ $ echo [~/Desktop] [~/Downloads] [~/Music] | xargs -n 1 cp [/location/sourcefile]

¡Eso es todo! Ahora hemos aprendido cómo copiar un archivo con un comando a varios directorios. Así que ahora no tiene que escribir varios comandos para realizar la tarea más simple de copiar un archivo en varias ubicaciones.


Debian
  1. Encuentra archivos y directorios en Linux con el comando de búsqueda

  2. Copiar archivos y directorios en Linux

  3. Cómo actualizar Kali Linux con un solo comando

  4. Cómo copiar un archivo a varios directorios usando el comando gnu cp

  5. ¿Cómo reemplazar un archivo en jar con línea de comando en Linux?

Cómo usar un comando de archivo en Linux

Cómo abrir un archivo en Linux

Cómo unir varias líneas en una en un archivo en Linux

Cómo ejecutar múltiples comandos de Linux en un solo comando

Cómo copiar archivos y directorios en la terminal de Linux

Cómo eliminar grupos con el comando groupdel en Linux