Essa é uma representação visual (em que ^[
representa o caractere ESC) da sequência para limpar a tela e colocar o cursor no topo em terminais do tipo xterm, pelo menos:
$ TERM=xterm tput clear | cat -v
^[[H^[[2J
Para saber mais sobre essas sequências de escape, consulte o documento ctlseqs.txt enviado com xterm
. Lá você encontrará:
ESC [
Control Sequence Introducer (CSI is 0x9b).
e:
CSI Ps ; Ps H
Cursor Position [row;column] (default = [1,1]) (CUP).
e:
CSI Ps J Erase in Display (ED).
Ps = 0 -> Erase Below (default).
Ps = 1 -> Erase Above.
Ps = 2 -> Erase All.
Ps = 3 -> Erase Saved Lines (xterm).
(observe que ^[[2J
não limpa as linhas salvas ou a tela alternativa).
tput clear
(ou clear
) nos terminais xterm
-like faz o mesmo que printf '\e[H\e[2J'
. Para isso, ele consulta o banco de dados terminfo
para saber qual é a seqüência de caracteres do recurso clear
para o terminal cujo nome está armazenado na variável de ambiente $TERM
. Se você despejar a entrada para o terminal xterm
no banco de dados terminfo
com infocmp xterm
, verá:
$ infocmp -1 xterm | grep clear
clear=\E[H\E[2J,
Qual é outra maneira de descobrir uma determinada sequência de escape:
$ infocmp -L -1 | grep J
clear_screen=\E[H\E[2J,
clr_eos=\E[J,
(aqui usando o nome L
ong para os recursos). Em seguida, você pode fazer man 5 terminfo
para uma descrição desses recursos.