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.
O que é o configd e por que ele está sendo executado no meu Mac?
Você está navegando nos processos do Mac usando o Activity Monitor quando percebe algo que não reconhece: configd. O que é isso, e você deve estar preocupado? RELACIONADO: O que é este processo e por que está sendo executado no meu Mac? Este artigo é parte de nossa série em andamento explicando vários processos encontrados no Activity Monitor, como kernel_task, hidd, mdsworker, install, WindowServer, blued, launchd, backup, opendirectoryd, powerd, coreauthd e muitos outros.
Como repor o seu Nintendo Switch sem perder os dados do jogo
Se o seu Nintendo Switch estiver com um problema sério - ou se pretender apenas limpá-lo antes de o vender a alguém - pode precisar para fazer um hard reset. O Switch tem várias opções para nuking seus dados e começar de novo, então ajuda saber qual deles faz o quê. Até que a Nintendo lance seu serviço online no outono de 2017, todos os seus dados são armazenados localmente no seu dispositivo.