Respostas:
ctrl+ Llimpe a tela do terminal.
É o atalho de teclado equivalente ao comando clear -x
. ref
É propriedade de bash
, portanto você não o encontrou sob atalhos de teclado no seu terminal gnome. De man bash
:
clear-screen (C-l)
Clear the screen leaving the current line at the top of the
screen. With an argument, refresh the current line without
clearing the screen.
Veja uma lista detalhada de atalhos do teclado Bash .
clear
, porque não apagar seu histórico de terminal, enquanto o comando clear
faz, a menos que você adicione o -x
argumento, assim: clear -x
.
Se o shell que você está usando não estiver interceptando, você está digitando um caractere "Form-feed" no seu terminal. Se o aplicativo do terminal não interceptar ou usar o pressionamento de tecla de alguma maneira, Ctrl+ Letter será traduzida para o código ASCII da letra menos 64 (1). 65 é o código ASCII de 'A', 'L' é a 12ª letra -> código 76. Se o shell não souber o que fazer com o código, ele o imprimirá.
A impressão de um char FF resultou em uma nova página em uma impressora de linha e uma tela nítida no terminal (sim, eu usei um VT-52 naquela época, a 300 baud).
Então Ctrl+ Lé 12, que é FF. Da mesma forma, Ctrl+ Ié uma TAB e Ctrl+ Gtoca a campainha --- se o terminal ou o shell não a interceptar, como Ctrl+ Cpor exemplo.
Comunicação da outra resposta: parece que o bash fazer interceptação CTRL- Le fazer um clear
. Bom toque que os bash
autores associaram a chave a um comando que fará mais ou menos o mesmo que o código ASCII fazia nos terminais antigos!
Por outro lado, na minha zsh
combinação CTRL- Ifunciona como TABe CTRL- Hcomo um Backspace(2).
Antigo e agradável ASCII ... (observe que a letra L está na coluna 4, linha 12, tem o código ASCII 4 * 16 + 12 = 76).
Imagem original aqui , do artigo da wikipedia sobre ASCII .
(1) Ctrlrealmente usado para limpar o bit 7.
(2) esta é a fonte da piada "falha ao remover a palavra" que você encontra em algum momento como, por exemplo, "essa foi uma péssima idéia ... H ^ H ^ não é uma idéia tão boa" ... (normalmente uma palavra mais forte do que ruim!)
^H
s ou s literais ^W
é bom quando você não pode usar rasuras. :)
Control-L
é interceptado e interpretado pelo bash (na verdade pela readline
biblioteca , que lida com a edição interativa na linha de comando). Está vinculado à clear-screen
função, como escreveu @souravc.
Nota sobre o significado de Control-L
: Ele é definido como Alimentação de formulário na tabela de caracteres ASCII, mas isso não significa nada, a menos que algum programa o interprete adequadamente. O terminal não limpa a tela quando vê um feed de formulário, como você pode verificar salvando um ^ L em um arquivo e imprimindo-o com cat
. Quando bash/readline
vê o ^L
, ele executa a clear-screen
função. Isso envia uma sequência de caracteres que é entendida pelo emulador de terminal (conforme descrito por termcap ou terminfo) e tem o efeito de limpar a tela.
Em impressoras muito antigas, a ^L
adiantaria o início do papel na próxima folha, daí o nome "alimentação de formulário". Porém, terminais modernos e emuladores de terminal seguem um padrão ANSI mais recente, no qual os comandos de controle são "códigos de escape" de vários caracteres que começam com ^[
(escape). Quando o bash vê o seu ^L
, provavelmente está enviando a sequência de dois comandos ESC [ H ESC [ J
, que se move para o canto superior esquerdo da tela e limpa tudo abaixo dela (daí a tela inteira).
ESC [ ESC [ J
também limpa o histórico de comandos, enquanto a CTRL + L
sequência não. A seqüência enviada para o terminal é um pouco ESC [ H ESC [ 2 J
, vá em frente uma experimentar por si mesmo com este comando: printf "\033[H\033[2J"
.
Como todos já explicaram muito bem o que é Ctrl+ Lfaz, mas ninguém explicou como "reverter" o comando, aqui estão alguns comandos que você pode digitar para voltar ao que estava fazendo:
history
lhe dará os últimos 20 comandos digitados.
tail --lines=20 /var/log/dpkg.log
fornecerá as últimas 20 linhas de saída de qualquer instalação de pacote que você estava executando