Como copiar um arquivo para vários diretórios no Linux

Como copiar um arquivo para vários diretórios no Linux

Como usuário do Linux, você deve estar bem familiarizado com o comando Linux CP. Que é usado para copiar arquivos de um diretório para outro diretório.

Este tutorial explicará como copiar um arquivo para vários diretórios em um único comando.

Por padrão, podemos copiar um arquivo para um único diretório de destino em um comando. Por exemplo, copie um arquivo tecadmin.TXT do diretório doméstico para dois diretórios diferentes, usa comandos como:

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

Agora, use o seguinte comando para copiar o mesmo arquivo para os dois diretórios de destino em um único comando. Aqui usamos o comando Echo seguido pelos nomes do diretório de destino. Em seguida, pague os resultados para os comandos XARGS, que levarão os nomes de diretórios como entrada e o passarão para o comando cp.

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

Em seguida, verifique se o arquivo de origem é copiado para os dois diretórios de destino. Basta usar o comando ls para listar o arquivo nos dois locais.

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

Você descobrirá que o mesmo arquivo é copiado para ambos os destinos em comando único.

Ao copiar o arquivo para 2-3 diretórios, você pode fazê-lo facilmente com vários comandos. Mas pense, se você precisar copiar isso para um grande número de diretórios por vez. Por exemplo, eu tenho um servidor WHM/CPALE com grande número de conta e quero colocar um arquivo em cada conta public_html diretório. Podemos fazer isso no comando único como:

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

Espero que este tutorial ajude você a entender a copiar o arquivo para vários diretórios em um único comando.