Categories: Tecnologia

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

Copiar um arquivo com a linha de comando do Linux é fácil. No entanto, e se você quiser copiar o mesmo arquivo para vários locais diferentes? Isso também é fácil e mostraremos como fazer isso com um comando.

Normalmente, para copiar um arquivo, você usaria o cpcomando, vinculando ao arquivo de origem e ao diretório de destino:

cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /

Para copiá-lo para mais dois diretórios, muitas pessoas simplesmente executariam o comando mais duas vezes, com destinos diferentes:

cp ~ / Documents / FileToBeCopied.txt ~ / Dropbox /
cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /

No entanto, podemos fazer a mesma tarefa com um comando:

echo dir1 dir2 dir3 | xargs -n 1 cp file1

Veja como funciona esse comando. O echocomando normalmente grava na tela. No entanto, neste caso, queremos alimentar a saída do echocomando como entrada para o xargscomando. Para fazer isso, usamos o símbolo de pipe ( |) que alimenta a saída de um comando como entrada para outro. O xargscomando executará o cpcomando três vezes, cada vez acrescentando o próximo caminho de diretório direcionado a ele desde o echocomando até o final do cpcomando. Há três argumentos sendo passados ​​para xargs, mas a -n 1opção no xargscomando diz para anexar apenas um desses argumentos por vez ao cpcomando toda vez que for executado.

Portanto, para seguir nosso exemplo anterior, os três cpcomandos separados acima podem ser combinados em um comando como este:

echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Documents / FileToBeCopied.txt

Observe que se o arquivo que está sendo copiado existir em qualquer um dos diretórios de destino especificados, o arquivo nesse destino será substituído automaticamente. Você não será perguntado se deseja substituir o arquivo. (Normalmente, quando você usa o cpcomando para copiar um arquivo para um único local, você pode adicionar a -iopção de perguntar se deseja substituir um arquivo existente. No entanto, a -iopção é uma opção interativa (faz com que o cpcomando peça uma entrada do usuário) e você não pode usar uma opção interativa com o cpcomando ao usá-lo em conjunto com xargs.)

Uma outra coisa a se considerar é que se você estiver copiando um arquivo muito grande, pode querer adicionar a opção no-clobber ( -n) ao cpcomando no único comando acima. Esta opção evita automaticamente que um arquivo seja sobrescrito em um destino se ele já existir lá. Se você estiver copiando um arquivo muito grande em uma rede, pode ser lento e você pode querer evitar o uso dos recursos necessários para copiar e substituir o arquivo. O comando a seguir adiciona a -nopção e não copiará o arquivo para nenhum destino listado nos argumentos da instrução echo, se o arquivo já existir nesse destino.

echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt

Digite man echo , man xargs ou man cp na linha de comando do Linux para obter mais informações sobre qualquer um desses comandos.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

7 meses ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

7 meses ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

7 meses ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

7 meses ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

7 meses ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

7 meses ago