Eu sei que existem comandos como \! clear
,, system clear
usando ctrl + l
no terminal para limpar o terminal.
Mas percebo claramente que está apenas deixando uma lacuna e todos os resultados anteriores ainda estão no topo que, quando rolamos, ainda veríamos os resultados dos comandos anteriores.
O que me pergunto é se existe um comando para limpar totalmente o terminal que é novo, como abrir um novo terminal que quando eu rolar o terminal mostrará apenas os resultados da ação atual.
Responder1
Use o comando "\! reset". Em contraste com clear, ou Ctrl+L, reset irá reinicializar completamente o terminal, em vez de apenas limpar a tela. No entanto, não irá reinstanciar o shell (bash). Isso significa que o estado do bash é o mesmo de antes, como se você estivesse apenas limpando a tela.
Responder2
Você pode usar tput reset
.
Além disso reset
, tput reset
você pode usar o seguinte script de shell.
#!/bin/sh
echo -e \\033c
Isso envia os caracteres de controle Esc-C para o console que reinicia o terminal.
Google Keywords: Linux Console Control Sequences
homem console_codes diz:
A sequência ESC c causa um reset do terminal, que é o que você deseja se a tela estiver toda distorcida. O frequentemente recomendado "eco ^V^O" apenas tornará G0 atual, mas não há garantia de que G0 aponte na tabela a). Em algumas distribuições existe um programa reset(1) que apenas faz "eco ^[c". Se a sua entrada terminfo para o console estiver correta (e tiver uma entrada rs1=\Ec), então "tput reset" também funcionará.
referência:https://unix.stackexchange.com/questions/26975/how-to-clear-terminal-completely