Estou surpreso que outras respostas não tenham mencionado TERMINFO (ou TERMCAP)
Use as man pages Luke
man clear
diz ...
NAME
clear - clear the terminal screen
SYNOPSIS
clear
DESCRIPTION
clear clears your screen if this is possible. It looks in the environ-
ment for the terminal type and then in the terminfo database to figure
out how to clear the screen.
TERM
O comando clear
usa apenas sequências de escape ANSI se o seu $TERM
estiver definido como ANSI ou algum tipo de terminal baseado em ANSI, como XTERM.
$ TERM=ansi clear | hexdump -C
00000000 1b 5b 48 1b 5b 4a |.[H.[J|
00000006
$ TERM=wy50 clear | hexdump -C
00000000 1b 2b |.+|
00000002
$ TERM=hurd clear | hexdump -C
00000000 1b 63 |.c|
00000002
$ TERM=glasstty clear | hexdump -C
00000000 0c |.|
00000001
$ TERM=vt52 clear | hexdump -C
00000000 1b 48 1b 4a |.H.J|
00000004
$ TERM=hpterm clear | hexdump -C
00000000 1b 26 61 30 79 30 43 1b 4a |.&a0y0C.J|
00000009
INFOCMP
Você pode usar infocmp
para investigar
$ infocmp -L -1 hpterm | grep clear_screen
clear_screen=\E&a0y0C\EJ,
TPUT
Ou você pode usar tput
para ver uma capacidade
$ tput -T hpterm clear | hexdump -C
00000000 1b 26 61 30 79 30 43 1b 4a |.&a0y0C.J|
00000009
$ tput -T hpterm reset | hexdump -C
00000000 20 20 20 20 20 20 20 20 1b 31 20 20 20 20 20 20 | .1 |
00000010 20 20 1b 31 20 20 20 20 20 20 20 20 1b 31 20 20 | .1 .1 |
00000020 20 20 20 20 20 20 1b 31 20 20 20 20 20 20 20 20 | .1 |
00000030 1b 31 20 20 20 20 20 20 20 20 1b 31 20 20 20 20 |.1 .1 |
00000040 20 20 20 20 1b 31 20 20 20 20 20 20 20 20 1b 31 | .1 .1|
00000050 20 20 20 20 20 20 20 20 1b 31 20 20 20 20 20 20 | .1 |
00000060 20 20 1b 31 | .1|
00000064