Cómo copiar un archivo a múltiples directorios en Linux

Cómo copiar un archivo a múltiples directorios en Linux

Como usuario de Linux, debe estar bien familiarizado con el comando Linux CP. Que se usa para copiar archivos de un directorio a otro directorio.

Este tutorial le explicará cómo copiar un archivo a múltiples directorios en un solo comando.

Por defecto, podemos copiar un archivo en un directorio de destino único en un comando. Por ejemplo, copie un archivo tecadmin.txt desde el directorio de inicio a dos directorios diferentes, utiliza comandos como:

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

Ahora, use el siguiente comando para copiar el mismo archivo en ambos directorios de destino en un solo comando. Aquí usamos el comando echo seguido de los nombres del directorio de destino. Luego vaya los resultados a los comandos XARGS, que tomarán los nombres de los directores como entrada y lo pasarán al comando CP.

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

A continuación, verifique que el archivo fuente se copie en ambos directorios de destino. Simplemente use el comando LS para enumerar 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 ambos destinos en un solo comando.

Mientras copia el archivo a directorios 2-3, puede hacerlo fácilmente con múltiples comandos. Pero piense, si tiene que copiar esto en una gran cantidad de directorios a la vez. Por ejemplo, tengo un servidor WHM/CPANEL con una gran cantidad de cuenta y quiero colocar un archivo en cada directorio de cuentas public_html. Podemos hacer esto en un solo comando como:

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

Espero que este tutorial lo ayude a comprender el archivo a múltiples directorios en un solo comando.