Como copiar e colar texto, arquivos e pastas no terminal Linux
Copiar e colar é uma das ações mais utilizadas em um computador. Embora seja fácil fazer isso com os atalhos de teclado Ctrl + C e Ctrl + V, no Linux terminal não é tão simples. Você tem várias opções para realizar o trabalho. Veja como você pode copiar e colar texto, arquivos e diretórios no terminal Linux.
Contente
- Copiar e colar texto
- Copie e cole um único arquivo
- Copie e cole uma pasta e seu conteúdo
- Copie e cole vários arquivos
- Copie e cole todos os arquivos do mesmo tipo
- Torne a cópia mais interativa
- Rsync versus CP
- Mover um arquivo ou pasta
- perguntas frequentes
Leia também: Como excluir um diretório no Linux
Copiar e colar texto
Se você quiser apenas copiar um trecho de texto no terminal, basta selecioná-lo com o mouse e pressionar Ctrl + Shift + C para copiar.
Para colá-lo onde está o cursor, use o atalho de teclado Ctrl + Shift + V.
O atalho Colar também se aplica quando você copia uma seção de texto de um documento do Word (ou qualquer outro aplicativo) e deseja colá-lo no terminal. Por exemplo, você pode copiar um comando de uma página da web em seu navegador e usar o atalho Ctrl + Shift + V para colá-lo no terminal.
Se por algum motivo esses atalhos de teclado não funcionarem, o terminal pode não estar configurado corretamente para isso. Procure opções que permitem personalizar atalhos de teclado. Estas são instruções para os terminais mais populares:
- Terminal Gnome - Clique no menu de hambúrguer e clique em “Preferências”. Navegue até “Atalhos” e vá até “Editar”. As opções de “Copiar” e “Colar” aparecerão ali prontas para serem configuradas.
- Konsole - Vá em "Configurações" e clique em "Configurar atalhos de teclado". Procure por “Copiar”, configure-o para usar as combinações de teclas mencionadas anteriormente e faça o mesmo para “Colar”.
A maioria dos outros terminais irá bloquear você na combinação universal padrão para copiar/colar no console sem a capacidade de configurá-los.
Leia também: Como usar cURL para transferência de dados de linha de comando e muito mais
Copie e cole um único arquivo
Sempre que você quiser copiar um arquivo ou pasta na linha de comando do Linux, o atalho de teclado acima não funcionará. Você deve usar o comando cp
. cp é uma abreviação de cópia. A sintaxe também é simples. Use cp
seguido do arquivo que deseja copiar e do destino para onde deseja movê-lo.
cp your-file.txt ~/Documents/
Isso, é claro, pressupõe que seu arquivo esteja no mesmo diretório em que você está trabalhando. Você pode especificar ambos.
cp ~/Downloads/your-file.txt ~/Documents/
Você também tem a opção de renomear seu arquivo enquanto o copia. Especifique o novo nome no destino.
cp ~/Downloads/your-file.txt ~/Documents/new-name.txt
Leia também: Como usar o comando dd no Linux
Copie e cole uma pasta e seu conteúdo
Para copiar uma pasta e seu conteúdo, você precisará informar ao comando cp
para copiar recursivamente. Isso é bastante simples com o sinalizador -r
.
cp -r ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
Todo o resto da sua sintaxe é exatamente a mesma. A flag -r
serve para informar ao cp
que ele está trabalhando com um diretório e deve copiar seu conteúdo.
Se quiser que a ação de colar substitua os arquivos existentes, você pode adicionar o sinalizador -f
:
cp -rf ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
Leia também: Como usar o comando Rm no Linux
Copie e cole vários arquivos
Você também pode copiar vários arquivos. A linha de comando do Linux permite direcionar vários itens de uma vez com colchetes {}
. Você pode usá-los para listar os nomes de cada arquivo a ser copiado separados por vírgulas.
cp ~/Downloads/{file1.txt,file2.jpg,file3.odt} ~/Documents/
Todos os três arquivos de diferentes tipos serão copiados para o diretório Documentos.
Copie e cole todos os arquivos do mesmo tipo
Se você tiver vários arquivos do mesmo tipo para copiar, poderá usar o caractere curinga *
. O asterisco/curinga informa à linha de comando do Linux para aceitar absolutamente qualquer coisa naquele local. Então, se você disser ao Linux para copiar *.jpg
, ele copiará todos os arquivos JPG, independentemente do nome ou do que quer que venha antes da parte .jpg.
cp ~/Downloads/*.jpg ~/Pictures/
Se quiser usar vários tipos de arquivo, como JPG e PNG, você pode usar os colchetes anteriores.
cp ~/Downloads/*.{jpg,png} ~/Pictures/
Leia também: Como copiar e colar em sites que não permitem
Torne a cópia mais interativa
Como você deve ter notado ao seguir este guia, usar cp
não fornece nenhum tipo de confirmação ou aviso após terminar o que está fazendo, a menos que encontre um erro. Isso pode causar um pouco de desconforto, especialmente quando você executa operações de cópia de arquivos muito grandes em hardware mais lento, que podem levar muito tempo para serem concluídas.
Ao anexar o sinalizador -v
ao seu comando, você diz ao cp
para fornecer a saída mais detalhada sobre o que ele faz. O sinalizador -i
fornece prompts de confirmação para que você tenha a chance de cancelar certas operações, como substituir certos arquivos.
cp -rvi ~/Downloads/*.jpg ~/Pictures/
Geralmente os sinalizadores -v
e -i
estão disponíveis em uma grande variedade de comandos comuns ao Linux.
Rsync versus CP
Se você precisar fazer várias operações de cópia que substituem arquivos (como criar um backup que você atualizará de vez em quando) por algum motivo, rsync
poderá colocar um sorriso em seu rosto.
rsync
é um pouco mais avançado porque vai até as minúcias de cada arquivo, faz uma comparação completa dos dados de ambos e, dentro do próprio arquivo, apenas sobrescreve os dados que foram alterados. Isso é especialmente útil se a pasta de destino estiver em um SSD, pois economiza ciclos de gravação e não degrada desnecessariamente a integridade da unidade, sobrescrevendo arquivos inteiros.
Aprenda como usar o rsync para copiar arquivos no Linux.
Leia também: Como salvar a saída do terminal em um arquivo no Linux
Mover um arquivo ou pasta
Se você veio aqui querendo mover um arquivo de um lugar para outro sem duplicar, você também pode fazer isso facilmente, mas mover um arquivo requer o comando mv
. A sintaxe é muito semelhante ao cp.
mv ~/Downloads/your-file.txt ~/Documents/
Da mesma forma, você também pode renomear o arquivo.
mv ~/Downloads/your-file.txt ~/Documents/renamed.txt
Porém, há uma grande diferença. Você não precisa do sinalizador -r
para mover uma pasta inteira.
mv ~/Downloads/downloaded-folder ~/Pictures/vacation-pics
perguntas frequentes
O rsync é melhor que o cp?
Nenhum é melhor que o outro em geral. rsync
fará comparações completas de arquivos nas pastas de origem e de destino, ocupando alguns recursos de computação para economizar largura de banda ou ciclos de gravação. É ótimo se você estiver atualizando constantemente um backup de uma pasta específica, mas não é o ideal se você estiver fazendo apenas uma única operação de cópia.
cp
funciona mais como um canivete suíço que só quer fazer o trabalho. Se você precisar sobrescrever algo, cp
faz isso por você. Devido à sua capacidade de interatividade, também é mais amigável para iniciantes e oferece um pouco mais de controle sobre o processo de cópia.
Por que não posso simplesmente usar Ctrl+C para copiar itens do meu terminal?
Em aplicativos de terminal Linux, pressionar Ctrl + C no teclado envia um sinal SIGINT
(interrupção) para o kernel. É uma maneira simples de dizer ao Linux para parar tudo o que está sendo executado naquele terminal específico.
Se você configurar a função “Copiar” em seu terminal para responder a essa combinação de teclas, você encontrará problemas ao copiar uma linha de texto de um comando em execução enquanto ele ainda está fazendo alguma coisa.
Crédito da imagem: Fotos Neron em Pexels