Como copiar e colar texto no Bash Shell do Linux

Como copiar e colar texto no Bash Shell do Linux

Principais conclusões

  • Ctrl+C e Ctrl+V, que são comumente usados ​​para copiar e colar em aplicativos gráficos, não funcionam no prompt de comando do shell Bash.
  • Para copiar e colar no prompt de comando do shell Bash, você pode usar Ctrl+Shift+C e Ctrl+Shift+V ou clicar com o botão direito do mouse e selecionar “Copiar” e “Colar” no menu de contexto.
  • Você também pode pressionar o botão do meio do mouse para colar automaticamente o texto selecionado no local do cursor.

Quer copiar e colar na linha de comando do shell Bash? Mostraremos várias técnicas, quer você prefira o teclado ou o mouse. Eles funcionam quer você esteja em uma área de trabalho gráfica ou em um TTY tradicional baseado em texto.

Os atalhos de teclado usuais para copiar e colar não funcionam

Copiar e colar texto é uma parte básica do uso de um computador. Quando as pessoas usam um computador Linux pelas primeiras vezes, sejam elas do mundo Windows ou macOS, muitas vezes ficam confusas ao tentar copiar e colar em uma janela de terminal.

No Windows, você usa Ctrl+Cpara copiar uma seção do texto destacado e Ctrl+Vcolá-lo. No macOS, você usa Command+Cpara copiar e Command+Vcolar. Seguem a mesma convenção de Ccopiar e Vinserir.

Essas mesmas teclas funcionam na maioria dos aplicativos gráficos do Linux, como o editor gedit ou o pacote de escritório LibreOffice . Ctrl+Ccopia o texto destacado e Ctrl+Vcola-o no cursor. Nosso recém-chegado ao Linux provavelmente nem pensa no fato de que essas convenções foram aplicadas a esses aplicativos. Eles usam as teclas digitadas na memória muscular e continuam com seu trabalho.

Assim que nosso recém-chegado abre uma janela de terminal e tenta copiar e colar no prompt de comando do shell Bash , tudo muda. Ctrl+Ce Ctrl+Vforam alocadas funções muito antes de copiar e colar ser pensado. Na verdade, essas teclas foram recrutadas muito antes da invenção dos shells gráficos, na época em que o teletipo (TTY) era uma coisa física.

Ctrl+C e Ctrl+V em TTYs

Quando um TTY era um dispositivo físico, Ctrl+Cfoi escolhido como uma combinação útil de teclas para gerar um sinal. Esse sinal é SIGINT , que informa ao processo atual para terminar. Como uma janela de terminal é um TTY emulado, essa combinação de teclas (e muitas outras) foi preservada e replicada na emulação. Observe que é a janela do terminal que é a emulação. O shell Bash é um programa executado nesse TTY emulado.

Podemos ver facilmente as funções que foram alocadas para Ctrl+Ce Ctrl+V. Suponha que você digite o seguinte comando e pressione “Enter”.

ls -R /

ls -R / em uma janela de terminal

Como estamos usando a -Ropção (recursiva), o lscomando começará a listar todos os arquivos e diretórios, começando no diretório raiz. Depois de alguns momentos, você percebe que não era isso que queria e encerra o processo pressionando Ctrl+C.

Ctrl+C

Ctrl+C em uma janela de terminal

O lsprocesso é encerrado. A evidência visível Ctrl+Cestá destacada na captura de tela. Ele é exibido como ^C.

A Ctrl+Vcombinação de teclas invoca “inserção literal”. Isso permite inserir uma representação de uma tecla no que você está digitando, em vez de obter o efeito da tecla. Para ver isso, tente os seguintes comandos (não digite vírgulas). (Por exemplo, para tentar o primeiro, pressione Ctrl+V e depois pressione Enter.)

Ctrl+V, Enter Ctrl+V, PgDn Ctrl+V, RightArrow Ctrl+V, Esc

Ctrl+V, Enter em uma janela de terminal

Como um aparte rápido, você pode notar que Enter é representado por ^M. Vimos anteriormente que Ctrl+Capareceu como ^C. Parece que isso ^representa Ctrl. Provavelmente Ctrl+Msignifica o mesmo que Enter. Isso significa que podemos inserir Enter digitando Ctrl+M? Experimente em uma janela de terminal. Você verá que sim.

Portanto, é evidente que não podemos esperar Ctrl+Ccopiar Ctrl+Ve colar texto quando eles já possuem funções consagradas atribuídas a eles. Então, o que podemos usar?

Ctrl+Shift+C e Ctrl+Shift+V

Facilmente lembrados porque são muito semelhantes aos seus homólogos Ctrl+Shift+Ce Ctrl+Shift+V são substitutos diretos de Ctrl+Ce Ctrl+V.

Se você destacar o texto na janela do terminal com o mouse e clicar, Ctrl+Shift+Ccopiará esse texto para um buffer da área de transferência.

Ctrl+Shift+C

Ctrl+Shift+C em uma janela de terminal

Você pode usar Ctrl+Shift+Vpara colar o texto copiado na mesma janela do terminal ou em outra janela do terminal.

Ctrl+Shift+V

Ctrl+Shift+V em uma janela de terminal

Você também pode colar em um aplicativo gráfico como gedit. Mas observe que ao colar em um aplicativo — e não em uma janela de terminal — você deve usar Ctrl+V.

Colando de uma janela de terminal no editor gedit

E você também pode ir por outro caminho. Você pode destacar o texto gedite clicar Ctrl+Ce colá-lo em uma janela de terminal usando Ctrl+Shift+V.

Copiando do editor gedit e colando em uma janela de terminal

A combinação de teclas Ctrl+Inserté igual a Ctrl+Shift+C, e a combinação Shift+Inserté igual a Ctrl+Shift+V. A ressalva aqui é que eles só podem ser usados ​​na mesma janela do terminal.

Usando o mouse: clique com o botão direito

Você pode usar o mouse para copiar e colar em uma janela de terminal. Você tem que usar o mouse para destacar o texto que vai copiar, então por que não usá-lo para realizar as ações de copiar e colar?

Depois de destacar algum texto, clique com o botão direito do mouse e selecione “Copiar” no menu de contexto.

janela do terminal com menu de contexto e cópia destacada

Para colar o texto copiado, clique mais uma vez com o botão direito do mouse e selecione “Colar” no menu de contexto.

janela do terminal com menu de contexto e colagem selecionada

O texto é colado na posição do cursor na linha de comando. Neste exemplo, o caminho relativo foi fornecido incorretamente e o Bash não pode alterar o diretório. O usuário perdeu o “~/” do início do caminho. Eles digitaram “~/” e copiaram o restante do caminho da tentativa anterior e colaram-no na segunda linha de comando.

Quando eles pressionam Enter, eles são movidos para o diretório.

janela do terminal com um diretório alterado obtido através de copiar e colar

Este exemplo mostrou colar na mesma janela de terminal, mas você pode usar esta técnica de clique com o botão direito para colar em diferentes janelas de terminal. Você também pode colar em aplicativos gráficos usando este método.

Usando o mouse: botão do meio

Existe uma maneira ainda mais rápida de copiar e colar usando o mouse, desde que o mouse tenha um botão do meio. Se você pressionar a roda de rolagem (suavemente!) E ela clicar, você terá um botão do meio.

Destaque algum texto em uma janela de terminal e pressione o botão do meio. O texto destacado é colado na posição do cursor na linha de comando. A cópia e a colagem acontecem ao mesmo tempo.

Então, destaque algum texto:

janela do terminal com algum texto destacado

Em seguida, pressione o botão do meio:

janela do terminal com texto destacado colado na linha de comando

Você pode usar este método para colar entre diferentes janelas de terminais e também em aplicativos gráficos. Basta destacar o texto, ir para outra janela do terminal ou aplicativo e pressionar o botão do meio.

Velha escola – sem mouse

E quando você não tem um mouse? Se você não consegue destacar nenhum texto, como copiá-lo e colá-lo?

Os servidores Linux geralmente são configurados sem um ambiente gráfico de área de trabalho (GDE), o que significa que você não tem acesso a um mouse. Mesmo em um computador Linux que esteja executando um ambiente de área de trabalho gráfico como o GNOME e você tenha um mouse, haverá casos em que você não poderá usar o mouse para destacar texto.

Por exemplo, você pode ter trocado para um dos TTYs adicionais. Nas distribuições modernas, eles estão localizados em Ctrl+Alt+F3(TTY3) até Ctrl+Alt+F6(TTY6). ( Ctrl+Alt+F2retornará à sua sessão do GDE e o Ctrl+Alt+F1levará à tela de login do seu GDE.)

Talvez você esteja usando um dispositivo TTY de hardware genuíno para conectar-se a um computador Linux ou Unix.

De qualquer forma, essas técnicas funcionarão para você. O ponto a lembrar aqui é que isso não é copiar e colar, é recortar, copiar e colar, e você só pode recortar e copiar da linha de comando atual. Claro, você pode usar as teclas de seta para percorrer seu histórico e encontrar a linha de comando da qual deseja recortar, copiar e colar.

As teclas que você pode usar são:

  • Ctrl+W : Corte a palavra antes do cursor e adicione-a ao buffer da área de transferência.
  • Ctrl+K : Corte a parte da linha após o cursor e adicione-a ao buffer da área de transferência. Se o cursor estiver no início da linha, ele cortará e copiará a linha inteira.
  • Ctrl+U : Corte a parte da linha antes do cursor e adicione-a ao buffer da área de transferência. Se o cursor estiver no final da linha, ele cortará e copiará a linha inteira.
  • Ctrl+Y : Cole o último texto que foi recortado e copiado.

Vamos pular para TTY3. (Use Ctrl+Alt+F1 para voltar à sua área de trabalho depois.)

Ctrl+Alt+F3 tty

tty3 em uma janela de terminal

Temos um arquivo que desejamos excluir, vamos verificar se está aqui.

ls -l file_to_delete.txt

ls -l file_to_delete.txt em uma janela de terminal

Se usarmos a tecla de seta para cima, chamaremos o último comando que usamos do histórico de comandos. Poderíamos apenas editar esta linha, mas o objetivo é demonstrar como recortar, copiar e colar, portanto realizaremos nossa tarefa de excluir o arquivo de uma forma um pouco demorada.

Comando recuperado do histórico de comandos em uma janela de terminal

Moveremos o cursor para a primeira letra do nome do arquivo e pressionaremos Ctrl+K. Isso removerá essa parte da linha e copiará o texto para o buffer da área de transferência.

O efeito de Ctrl+K em uma janela de terminal

Pressionaremos Backspace até limparmos a linha.

Linha limpa com backspace em uma janela de terminal

Digitaremos rmpara excluir o arquivo.

rm em uma janela de terminal

E agora podemos clicar Ctrl+Ye colar o restante da linha.

O efeito de Ctrl+Y em uma janela de terminal

Isso completa nosso comando e podemos pressionar Enter para excluir o arquivo.

Arquivo excluído sem mensagem de erro em uma janela de terminal

Este tipo de recortar, copiar e colar não pode ser usado entre os TTYs adicionais. Você não pode recortar, copiar e colar entre TTY3 e TTY4, por exemplo.

Os TTYs adicionais são melhor considerados como uma linha de TTYs físicos colocados lado a lado. Não há como recortar e colar entre os diferentes terminais físicos, e não há como fazer isso nessas emulações.

Copie isso, controle

Qualquer que seja a situação em que você se encontre ao usar um computador Linux, haverá uma maneira de copiar e colar. Você tem opções. Algumas delas são opções estranhas, mas pelo menos existem opções.

Comandos Linux

arquivos

tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · menos · chgrp · chown · rev · look · strings · tipo · renomear · zip · descompactar · montar · desmontar · instalar · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · converter · rclone · fragmentar · srm · scp · gzip · chattr · cortar · encontrar · umask · wc · tr

Processos

alias · tela · topo · legal · renice · progresso · strace · systemd · tmux · chsh · histórico · em · lote · grátis · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · mindinho · lsof · vmstat · tempo limite · parede · sim · matar · dormir · sudo · su · tempo · groupadd · usermod · grupos · lshw · desligar · reiniciar · parar · desligar · senha · lscpu · crontab · data · bg · fg · pidof · nohup · pmap

Rede

netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · cavar · dedo · nmap · ftp · curl · wget · quem · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *