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

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

Sabe aqueles momentos que você precisa copiar o mesmo arquivo para vários diretórios distintos? Pois é, você não precisa mais abrir todos seja pelo Terminal ou manualmente. Com apenas um comando você pode copiar este mesmo arquivo, seja ele qual for, para quantos diretórios desejar. Hoje, saiba como copiar um arquivo para vários diretórios no Linux, usando linha de comando simples.

Copiando um arquivo para vários diretórios no Linux

No Linux, o comando cp é usado para copiar arquivos de um diretório para outro, a sintaxe do comando é a seguinte:

cp [opções] arquivo diretório

Normalmente, você digitaria dois comandos diferentes para copiar o mesmo arquivo para dois diretórios diferentes, da seguinte maneira:

cp -v /home/sempreupdate/Documentos/info.sh /home/sempreupdate/Música/
cp -v /home/sempreupdate/Documentos/info.sh /home/sempreupdate/Imagens/

Supondo que você deseja copiar um arquivo específico para cinco ou mais diretórios, isso significa que você teria que digitar cinco ou mais comandos cp, certo?

Para acabar com esse problema, você pode usar o comando echo juntamente com os comandos xargs e cp.

echo /home/sempreupdate/Música/ /home/sempreupdate/Imagens/ | xargs -n 1 cp -v /home/sempreupdate/Documentos/info.sh
Na forma acima, os caminhos para os diretórios (dir1, dir2, dir3 … ..dirN) são armazenados como entrada para o comando xargs em que:
  • -n 1: Diz ao xargs para usar no máximo um argumento por linha de comando e enviar para o comando cp.
  • cp: Usado para copiar um arquivo.
  • -v: Imprime o nome de cada arquivo antes de copia-lo.
Para ter mais informações sobre os comandos que foram usados, leia manual (man) dos comandos.
man cp
man echo
man xargs
Acesse a versão completa
Sair da versão mobile