Experimente printf '3c' . Isso envia uma seqüência de escape para o terminal, geralmente limpando todo o conteúdo, incluindo o buffer de rolagem.
Gostaria de emitir um comando a partir de um script bash para limpar o terminal em que ele está sendo executado:
Obrigado.
clear LIMPA a tela do terminal. Eu acho que você está acessando o Terminal de uma interface gráfica e, portanto, você está realmente usando uma interface para o console, não o console real. Esta interface "salva" automaticamente o seu histórico de saída (as coisas que você vê ao rolar para cima). Em um console real (sem interface gráfica), você não pode simplesmente rolar para cima. Neste caso, o terminal é apenas um programa que mantém registros da saída do console.
Se você abrir uma nova janela do Terminal e fechar a janela atual, você começará com uma nova janela. (Você também pode reinicializar manualmente indo até Terminal - > Reinicializar e limpar ")
Terminal em execução no ambiente da área de trabalho:

Consolesemambientededesktop:
Verifique se esta postagem do SU referenciando os comandos de reinicialização e limpeza do Bash
Além de reset , a resposta também descreve mais uma maneira de limpar o terminal.
Você não pode apagar o histórico do terminal (pelo menos não há maneira portátil). Esse recurso é geralmente reservado apenas para o usuário, pois ter um histórico apagado por algum programa seria extremamente irritante.
Se você quiser limpar o terminal, provavelmente a abordagem mais portável é usar tput clear (isso gerará uma string dependente de terminal que limpará a tela).
Uma opção pode ser ver se o terminal pode ser iniciado com a rolagem desativada. Por exemplo, xterm -sl 0 iniciará um xterm com 0 saveLines. Veja o arquivo man:
-sl number
This option specifies the number of lines to save that have
been scrolled off the top of the screen. This corresponds to
the saveLines resource. The default is 64.