Uma das tarefas frequentes que executamos em Ambientes Linux, independentemente da distro usada, é copiar arquivos para voltar ou por ter uma nova organização da informação. Embora possamos trocar informações entre diferentes sistemas, a verdade é que às vezes perdemos ainda mais tempo duplicando nossas informações.
Em muitas ocasiões, não conseguimos encontrar as informações de que precisamos em nosso dispositivo, seja devido à desorganização ou a um grande volume de conteúdo. Se também queremos o que nos interessa arquive-o em lugares diferentes, a tarefa pode se tornar complicada. É por isso que neste tutorial vamos falar sobre a função de copiar arquivos no Linux usando apenas um comando e uma linha de instrução em diferentes diretórios.
1. Função de cópia de arquivo no Ubuntu Linux
Quando nós copiamos um arquivo sabemos que o parâmetro que usamos é cp (cópia-cópia) e indicamos o caminho de destino, por exemplo, neste caso temos uma imagem chamada Solvetic.png.webp na área de trabalho e queremos copiá-la para uma pasta chamada Testes, usaremos a seguinte sintaxe:
cp "Origem" "Destino"
Podemos ver que de forma simples copiamos arquivos no Linux, neste caso em Ubuntu 16. Mas e se desejarmos copie o mesmo arquivo para mais de um destino no Ubuntu 16 ou em qualquer distro? Embora possamos fazer isso manualmente, torna-se uma tarefa tediosa, suponha que desejamos copiar esse arquivo para as pastas Testes e Teste, devemos inserir manualmente cada linha:
Esse processo, além de repetitivo, levará mais tempo do que o necessário. Neste tutorial iremos analisar cComo copiar um arquivo para diferentes diretórios em uma única linha no Linux.
2. Copie um arquivo para várias pastas usando o comando echo no Linux
Passo 1
Para executar esta tarefa com mais eficiência usaremos o comando jogou fora com alguns parâmetros adicionais. A sintaxe geral é:
echo destination1 destination2 etc | xargs -n 1 arquivo cp para copiarPasso 2
A descrição desta linha é a seguinte:
- O comando jogou fora fica encarregado de escrever na tela do Linux e neste caso colocamos a barra vertical | para indicar que leva os valores de xargs.
- Parâmetro xargs cuida da cópia usando o comando cp com base no número de destinos adicionados.
- Parâmetro -n 1 indica que apenas um desses argumentos é adicionado ao comando cp.
etapa 3
Em nosso exemplo, a sintaxe será a seguinte:
echo / home / Solvético / Solvético / home / Solvético / Testes / home / Solvético / Desktop / Teste | xargs -n 1 cp /home/Solvetic/Desktop/Solvetic.png.webp
Passo 4
Se acessarmos qualquer um dos pastas de destino veremos o arquivo que copiamos:
Etapa 5
Usando esta sintaxe, se o arquivo que estamos copiando existir em uma das pastas de destino, ele será substituído automaticamente. Se quisermos que o sistema nos diga se queremos ou não substituir o arquivo, usaremos o parâmetro -eu depois de cp. Podemos ver que ele pergunta se temos certeza de substituir o arquivo de destino.
Etapa 6
Outro parâmetro que podemos usar é -n o que evita que o arquivo seja sobrescrito automaticamente se ele já existir no destino. Isso é útil se os arquivos forem grandes, pois evitamos sobrecarregar a rede e, assim, afetar o desempenho do sistema.
Podemos ver com um único comando como podemos copiar um arquivo para diferentes destinos automaticamente, permitindo-nos assim ter mais tempo livre para outras tarefas administrativas. Desta forma, podemos ter o mesmo arquivo em diferentes diretórios ou pastas ao mesmo tempo, sem ter que abri-los. Saiba mais sobre isso e aprenda como copiar e mover pastas de arquivos e diretórios no Linux.
Copiar pastas Linux