pt.phhsnews.com


pt.phhsnews.com / Como copiar um arquivo para vários diretórios com um comando no Linux

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 é fácil também, e mostraremos como fazer isso com um comando.

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

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 esse comando funciona. O comandoechonormalmente grava na tela. No entanto, nesse caso, queremos alimentar a saída do comandoechocomo entrada para o comandoxargs. Para fazer isso, usamos o símbolo de pipe (|) que alimenta a saída de um comando como entrada para outro. O comandoxargsexecutará o comandocptrês vezes, cada vez anexando o próximo caminho de diretório enviado doechoaté o final docpcomando. Há três argumentos sendo passados ​​paraxargs, mas a opção-n 1no comandoxargsdiz para anexar apenas um desses argumentos de cada vez para o comandocptoda vez que é executado.

Então, para ficar com nosso exemplo anterior, os três comandos separadoscpacima 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 comandocppara copiar um arquivo em um único local, é possível adicionar a opção-ipara perguntar se deseja substituir um arquivo existente. a opção-ié uma opção interativa (faz com que o comandocpsolicite informações do usuário) e você não pode usar uma opção interativa com ocpcomando ao usá-lo em conjunto comxargs.

Outra coisa a considerar, é que se você está copiando um arquivo muito grande, você pode querer adicionar o no-clobber (- n) para o comandocpno único comando acima. Esta opção impede automaticamente que um arquivo seja sobrescrito em um destino, se já existir. Se você estiver copiando um arquivo muito grande em uma rede, pode ser lento e você pode evitar o uso dos recursos necessários para copiar e substituir o arquivo. O comando a seguir adiciona a opção-ne não copia 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 no Linux para obter mais informações sobre qualquer um desses comandos.


Pesquise instantaneamente seu histórico de terminal com um atalho de teclado

Pesquise instantaneamente seu histórico de terminal com um atalho de teclado

Todos que usam regularmente a linha de comando têm pelo menos uma cadeia longa que digitam regularmente. Em vez de inserir tudo isso de novo e de novo, pesquise rapidamente seu histórico para encontrar o comando completo. RELATED: Como usar seu histórico de bash no Linux ou macOS Terminal Mesmo se você souber usar seu histórico de Bash no Linux ou macOS Terminal, você pode não saber sobre a funcionalidade de pesquisa integrada, que permite localizar rapidamente o comando mais recente que você digitou usando qualquer série de caracteres.

(how-top)

Como adicionar tags de usuário personalizadas ao Reddit

Como adicionar tags de usuário personalizadas ao Reddit

Se você passou algum tempo na Internet, as chances são bastante decentes de ter encontrado o Reddit, a rede social de compartilhamento de links e plataforma de discussão. E se você gastou algum tempo no Reddit, as chances são de aproximadamente 100% de você ter encontrado idiotas. Não que o Reddit seja intrinsecamente espasmódico, lembre-se, é que existem milhões de usuários postando links e comentários diariamente.

(how-top)