Copiar um ficheiro é absolutamente uma tarefa muito fácil de fazer em todos os sistemas operativos modernos, incluindo Linux. Assim como no Windows e Mac, você pode copiar um arquivo facilmente a partir do comando GUI clicando com o botão direito do mouse no arquivo e escolher a opção copiar.
>>0>>2>>>1>>0>No entanto, e se você quiser copiar um arquivo para vários diretórios com um único comando? Você só pode fazer isso usando linha de comando.
Normalmente, nós usaríamos o comando cp para copiar um arquivo no Linux. Mas, este comando só pode ser usado para copiar um ficheiro para um directório específico. Se você pensar em copiar um arquivo para mais de um destino, você tem que procurar por outra alternativa.
Felizmente, o Linux vem com tantos comandos. Quando exploramos mais a fundo sobre um comando, podemos fazer muitas coisas usando-o. Neste caso, vamos falar sobre “echo”.
Este comando é basicamente usado para escrever na tela. Mas, também podemos usar este comando para copiar um ficheiro com opções adicionais. Antes de executar o comando, é melhor entender como o comando funciona.
Below são a sintaxe do comando que vamos usar.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp file1
Neste caso, queremos alimentar a saída do comando echo como entrada para o comando xargs. Para fazer isso, usamos o símbolo do pipe ( | ) que alimenta a saída de um comando como entrada para outro. O comando xargs executará o comando cp três vezes, cada vez anexando o próximo caminho de diretório piped a ele do comando echo ao final do comando cp. Há três argumentos sendo passados para xargs , mas a opção -n 1 no comando xargs diz a ele para anexar apenas um desses argumentos de cada vez ao comando cp cada vez que ele for executado.
>0>Peguei-o?>0>Below é o exemplo do comando.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp copythisfile.txt
<