Como copiar un archivo a varios directorios usando comandos

Si has usado la consola de comandos de linux alguna vez, ya sabrás que es muy sencillo copiar un archivo o incluso varios archivos gracias al comando cp, un comando que todos hemos usado alguna vez y que hasta la fecha nos ha servido muy bien para copiar archivos usando la consola.

Sin embargo, ¿Qué ocurre cuando queremos copiar un único archivo a varios directorios a la vez?. El comando cp no permite hacerlo directamente, teniendo que repetir el comando cp una y otra vez, algo que puede resultar engorroso y poco práctico. Seguramente cuando esto te ha pasado te habrás preguntado si no existe alguna utilidad que permita copiar un solo archivo a varios directorios en un solo comando, sin repetir.

Pues tengo buenas noticias para ti, ya que el comando xargs te va a permitir unir varios comandos cp en uno solo, ahorrándote tiempo y permitiéndote hacerlo de una sola vez, con un solo comando. La sintaxis del comando es la siguiente:

xargs -n 1 cp -v archivo<<<"/carpeta1/ /carpeta2/" 

Como puedes ver, se trata de usar el comando xarg con el comando cp como argumento, poniendo el nombre de tu archivo donde pone archivo y las carpetas donde lo quieres copiar en donde pongo carpeta (añadiendo las que quieras). Si por ejemplo quiero copiar el archivo prueba.txt en /home/azpe y /home/isaac, el comando sería el siguiente.

xargs -n 1 cp -v prueba.txt<<<"/home/azpe/ /home/isaac/ "

Si aparte quiero copiarlo en la carpeta /home/joaquin y /home/willy , pondría el comando siguiente.

xargs -n 1 cp -v prueba.txt<<<"/home/azpe/ /home/isaac/ /home/joaquin/ /home/willy/ "

De esta forma, vamos a poder copiar un archivo en varios directorios al mismo tiempo, algo sin duda muy práctico y curioso y que nunca está de más saber. Recuerda que puedes poner el número de carpetas que quieras entre comillas.

Un buen uso que se me ocurre para este comando es por ejemplo para un profesor que quiera copiar un archivo a todos sus alumnos.Utilizando este comando, podría copiar el archivo de una sola vez y en un solo comando, sin tener que andar poniendo un comando para cada alumno.


2 comentarios, deja el tuyo

Deja tu comentario

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

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Mónica dijo

    Me parece muy interesante.

  2.   Sid Ragasoom dijo

    Hola, mi idea es copiar un archivo a varios discos externos usando este método. Ahora bien, por desconocimiento, no consigo colocar el archivo «txt» todos los MOUNTPOINT (/media/XXX/UUID) de los discos, ya que siempre habrán discos nuevos. ¿me ayudan con eso? Desde ya, muchas gracias.