Cómo copiar un archivo en varios directorios en linux con un solo comando

Linux

Copiar un archivo es absolutamente una tarea muy fácil de hacer en todos los sistemas operativos modernos, incluyendo Linux. Al igual que en Windows y Mac, puede copiar un archivo fácilmente desde el comando GUI haciendo clic derecho en el archivo y elegir la opción de copia.

Sin embargo, ¿qué pasa si desea copiar un archivo a varios directorios con un solo comando. Sólo puede hacerlo utilizando la línea de comandos.

Normalmente, utilizaríamos el comando cp para copiar un archivo en Linux. Pero, este comando sólo se puede utilizar para copiar un archivo a un directorio específico. Si usted piensa en copiar un archivo a más de un destino, tiene que buscar otra alternativa.

Afortunadamente, Linux viene con tantos comandos. Cuando exploramos más profundamente sobre un comando, podemos hacer muchas cosas usándolo. En este caso, vamos a hablar de «echo».

Este comando se utiliza básicamente para escribir en la pantalla. Pero, también podemos usar este comando para copiar un archivo con opciones adicionales. Antes de ejecutar el comando, es mejor entender cómo funciona el comando.

Abajo está la sintaxis del comando que vamos a utilizar.

echo dir_1 dir_2 dir_3 | xargs -n 1 cp file1

En este caso, queremos alimentar la salida del comando echo como entrada al comando xargs. Para ello, utilizamos el símbolo de la tubería ( | ) que alimenta la salida de un comando como entrada a otro. El comando xargs ejecutará el comando cp tres veces, cada vez añadiendo la siguiente ruta de directorio canalizada desde el comando echo al final del comando cp. Hay tres argumentos que se pasan a xargs , pero la opción -n 1 en el comando xargs le dice que sólo anexa uno de esos argumentos a la vez al comando cp cada vez que se ejecuta.

¿Lo tienes?

Abajo está el ejemplo del comando.

echo dir_1 dir_2 dir_3 | xargs -n 1 cp copythisfile.txt

YouTube video: Cómo copiar un archivo en varios directorios en Linux con un solo comando


Rate article