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 comandoecho
normalmente grava na tela. No entanto, nesse caso, queremos alimentar a saída do comandoecho
como 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 comandoxargs
executará o comandocp
três vezes, cada vez anexando o próximo caminho de diretório enviado doecho
até o final docp
comando. Há três argumentos sendo passados paraxargs
, mas a opção-n 1
no comandoxargs
diz para anexar apenas um desses argumentos de cada vez para o comandocp
toda vez que é executado.
Então, para ficar com nosso exemplo anterior, os três comandos separadoscp
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 comandocp
para copiar um arquivo em um único local, é possível adicionar a opção-i
para perguntar se deseja substituir um arquivo existente. a opção-i
é uma opção interativa (faz com que o comandocp
solicite informações do usuário) e você não pode usar uma opção interativa com ocp
comando 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 comandocp
no ú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-n
e 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.
Qual é a diferença entre o Microsoft Office para Windows e o macOS?
A versão para Windows do Microsoft Office sempre foi o padrão ouro para suítes de escritório, no que se refere a recursos. Office existe em outras plataformas também, como o Mac, mas essas versões estão faltando alguns produtos e recursos. RELATED: Qual é a diferença entre o Office, Web e aplicativos móveis do Microsoft Office?
Como copiar a lista de arquivos de uma pasta com um clique com o botão direito do mouse
Digamos que você tenha uma pasta cheia de arquivos e queira salvar ou imprimir uma lista desses arquivos. Com algumas edições rápidas do Registro, você pode adicionar um comando de clique com o botão direito do mouse para copiar o conteúdo de uma pasta para a área de transferência. Se você já precisou imprimir ou salvar uma lista de arquivos em um diretório no Windows, que não há um comando embutido para isso.