Cómo copiar un archivo a varios directorios en Linux

¿Cómo estais? Me llamo Fran y os traigo un nuevo post.

Como usuario de Linux, debe conocer bien el orden Linux cp. Que se utiliza para copiar archivos de un directorio a otro directorio.

Este tutorial explicará cómo copiar un archivo en varios directorios en una sola orden.

Por defecto podemos copiar un archivo en un directorio de destino único en una sola orden. Por ejemplo, copie un fichero tecadmin.txt del directorio inicial a dos directorios diferentes, utilice órdenes como:

cp -v ~/tecadmin.txt  /backup/dir1/  cp -v ~/tecadmin.txt  /backup/dir2/ 

Ahora, utilice el siguiente comando para copiar el mismo archivo a los dos directorios de destino en una sola orden. Aquí utilizamos el comando echo seguida de los nombres del directorio de destino. A continuación, envíe los resultados a las órdenes xargs, que tomarán los nombres de directorio como entrada y los pasarán a la orden cp.

echo /backup/dir1/ /backup/dir2/ | xargs -n 1 cp -v ~/tecadmin.txt 

A continuación, compruebe que el archivo fuente se copie los dos directorios de destino. Simplemente use la orden ls para listar el archivo en ambas ubicaciones.

ls -l /backup/dir1/tecadmin.txt  ls -l /backup/dir2/tecadmin.txt 

Encontrará que el mismo archivo se copia a los dos destinos con una sola orden.

Mientras copie el archivo a 2-3 directorios, puede hacerlo fácilmente con diversas órdenes. Pero piensa, si ha de copiar esto a un gran número de directorios vez. Por ejemplo, tengo un servidor WHM / cPanel con un gran número de cuentas y quiero colocar un archivo en cada directorio public_html de cuentas. Lo podemos hacer con una sola orden como:

echo /home/*/public_html/ | xargs -n 1 cp -v ~/tecadmin.txt  [output] '/root/tecadmin.txt' -> '/home/user1/public_html/tecadmin.txt' '/root/tecadmin.txt' -> '/home/rahul/public_html/tecadmin.txt'

Espero que este tutorial te ayude a copiar archivos a varios directorios en una sola orden.

El Blog lo hacemos para colaborar y servir de referencia a la comunidad Linux. Esperamos que os guste.

Leave a Reply