Como copiar e colar texto no Bash Shell do Linux

Deseja 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 se você estiver em uma área de trabalho gráfica ou em um TTY tradicional baseado em texto.

Os atalhos de teclado usuais não funcionam

Copiar e colar texto é uma parte importante do uso de um computador. Quando as pessoas usam um computador Linux pelas primeiras vezes, sejam eles do Windows ou do macOS, geralmente ficam confusas ao tentar copiar e colar em uma janela de terminal.

No Windows, você usa Ctrl + C para copiar uma seção do texto destacado e Ctrl + V para colá-lo. No macOS, você usa Command + C para copiá-lo e Command + V para colá-lo. Eles seguem a mesma convenção de C para copiar e V para inserir.

Esses mesmos pressionamentos de tecla funcionam na maioria dos aplicativos gráficos do Linux, como o editor gedit ou o LibreOffice office suite.Ctrl + C copia o texto destacado e Ctrl + V cola-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 da memória muscular e continuam seu trabalho.

Uma vez que nosso recém-chegado abre uma janela de terminal e tenta copiar e colar no Bash shell prompt de comando, que todas as mudanças. Ctrl + C e Ctrl + V eram funções alocadas muito antes de se pensar em copiar e colar. Na verdade, essas combinações de teclas foram recrutadas muito antes da invenção dos shells gráficos, na época em que um teletipo (TTY) era uma coisa física.

Ctrl + C e Ctrl + V em TTYs

Quando um TTY era um dispositivo físico, Ctrl + C era escolhido como uma combinação de teclas útil para gerar um sinal. Esse sinal é SIGINT, que informa o 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 em execução nesse TTY emulado.

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

ls -R /

Como estamos usando a opção -R (recursiva), o comando ls 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 é o que você queria, então encerra o processo pressionando Ctrl + C.

Ctrl+C

O processo ls foi encerrado. A evidência visível do Ctrl + C é destacada na captura de tela. Ele é exibido como ^ C.

  Os 5 melhores sistemas operacionais Linux para jogos Raspberry Pi

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

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

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

Portanto, simplesmente não podemos esperar que Ctrl + C e Ctrl + V executem a cópia e colagem de texto quando eles já têm funções consagradas pelo tempo alocadas para eles. Então, o que podemos usar?

Ctrl + Shift + C e Ctrl + Shift + V

Facilmente lembrados porque são muito semelhantes aos seus equivalentes, Ctrl + Shift + C e Ctrl + Shift + V são substituições diretas de Ctrl + C e Ctrl + V.

Se você realçar o texto na janela do terminal com o mouse e pressionar Ctrl + Shift + C, você copiará o texto para um buffer da área de transferência.

Ctrl+Shift+C

Você pode usar Ctrl + Shift + V para colar o texto copiado na mesma janela de terminal ou em outra janela de terminal.

Ctrl+Shift+V

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

E você também pode ir por outro caminho. Você pode destacar o texto no gedit e pressionar Ctrl + C e, em seguida, colá-lo em uma janela de terminal usando Ctrl + Shift + V.

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 de 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 executar as ações de copiar e colar?

  Como criar, montar e gravar um arquivo ISO no Linux

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

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

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 “~ /” no início do caminho. Eles digitaram “~ /” e, em seguida, copiaram o restante do caminho da tentativa anterior e colaram na segunda linha de comando.

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

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 ele 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. O copiar e colar acontecem ao mesmo tempo.

Então, destaque algum texto:

Em seguida, pressione o botão do meio:

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

Old School – Sem Mouse

E quando você não tem um mouse? Se você não consegue destacar nenhum texto, como pode copiar e colar?

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

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

  Como excluir um usuário no Linux (e remover todos os rastros)

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

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

As teclas que você pode usar são:

Ctrl + W: recorta a palavra antes do cursor e adiciona-a ao buffer da área de transferência.
Ctrl + K: corta a parte da linha após o cursor e adiciona-o ao buffer da área de transferência. Se o cursor estiver no início da linha, ele cortará e copiará toda a linha.
Ctrl + U: corta a parte da linha antes do cursor e adiciona-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: cola 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

Temos um arquivo que desejamos deletar, vamos verificá-lo aqui.

ls -l file_to_delete.txt

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

Vamos mover o cursor para a primeira letra do nome do arquivo e, em seguida, pressionar Ctrl + K. Isso removerá essa parte da linha e copiará o texto para o buffer da área de transferência.

Vamos pressionar Backspace até limparmos a linha.

Vamos digitar o rm para deletar o arquivo.

E agora podemos pressionar Ctrl + Y e colar o restante da linha.

Isso completa nosso comando e podemos pressionar Enter para que o arquivo seja excluído.

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

Os TTYs adicionais podem ser considerados como uma linha de TTYs físicos sentados lado a lado. Não há como cortar 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.