Saiba como copiar um único arquivo para múltiplos diretórios simultaneamente no Linux

copiar-arquivo-multiplos-diretorios-linuxdescomplicado

Algo simples, mas você já deve ter se deparado com a situação… como copiar um único arquivo para múltiplos diretórios, simultaneamente? O caminho mais rápido e prático é realizar essa operação pelo terminal de comandos do Linux, pois com “comandos de atalhos” você reduz, significativamente, o tempo na realização das tarefas. Sendo assim, conheça a maneira mais fácil para, usando um único comando, copiar um arquivo para vários diretórios, simultaneamente, no Linux.

O comando mais usado para copiar arquivos é o ‘cp’. A maneira mais simples para usá-lo é:

cp [params] origem(ns) destino

Partindo da sintaxe básica do comando cp, para copiar um único arquivo para múltiplos diretórios, simultaneamente, será preciso executar um comando para cada diretório destino diferente:

cp /home/ricardo/arquivos/arquivo.txt /home/ricardo/arquivos/dir1
cp /home/ricardo/arquivos/arquivo.txt /home/ricardo/arquivos/dir2
cp /home/ricardo/arquivos/arquivo.txt /home/ricardo/arquivos/dir3

cp-3vezes-linuxdescomplicado

Agora, imagine se fossem 10 ou mais destinos (diretórios) diferentes?! :( Significa que você teria que digitar 10 ou mais vezes o comando cp!

Copiar um único arquivo para múltiplos diretórios simultaneamente

Para acabar com esse problema, você pode usar um conjunto de outros comandos que aliado ao comando cp tornam possível essa façanha 😉 Aliando o comando echo, um pipe, comando xargs junto com o comando cp resolve o problema:

echo /home/ricardo/arquivos/dir1 /home/ricardo/arquivos/dir2 /home/ricardo/arquivos/dir3 | xargs -n 1 cp -v /home/ricardo/arquivos/arquivo.txt

comando-cp-multiplos-diretorios

Onde, os caminhos para os diretórios (dir1, dir2, dir3 … ..dirN) são passados como entradas para o comando xargs que usa os parâmetros:

-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 – permite mostrar os detalhes da operação de cópia.

Para saber mais sobre cada comando:

man cp
man echo
man xargs

Via | Tecmint

Ricardo Ferreira

Ricardo Ferreira

Fundador do Linux Descomplicado - LD.

Sempre em busca de novos conhecimentos, preza por conteúdo de qualidade e auto-explicativo. Por isso, persiste em criar um site com artigos relevantes para todos os leitores do Linux Descomplicado!
Ricardo Ferreira

Comentários

comentários


VOCÊ TAMBÉM PODERÁ LER...

  • Clayton…

    Mais que boa dica hein. Já estou usando aqui.