Como copiar um arquivo para múltiplos diretórios simultaneamente no Linux

image_pdfimage_print

Efetuar uma cópia de arquivo na linha de comando, pode ser feita com o comando cp.

No entanto, caso seja necessário copiar um mesmo arquivo para diversas localidades ao mesmo tempo, a forma usual é efetuar um ‘cp’ (cópia) para cada diretório alvo desejado.

A forma abaixo permite que com apenas uma execução de comando, todas as cópias sejam feitas diretamente:

echo path_diretorio_destino_1 path_diretorio_destino_2 path_diretorio_destino_3 path_diretorio_destino_4 | xargs -n 1 cp -v path_arquivo_a_ser_copiado

E ao final, todos os diretórios que estiverem no comando echo terão o arquivo que foi copiado, neste comando, exemplificado como ‘path_arquivo_a_ser_copiado’.

A opção -v do arquivo cp é apenas um verbose, para mostra os detalhes da operação. O xargs com opção -n 1 usa no máximo um argumento por linha de comando. Com isto, só enviar para o comando cp um único argumento.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!