Respostas:
Quando você começa assim ...
top && clear
... a tela é limpa após sair do topo com q.
Isso funciona mais como less
:
tput smcup ; top ; tput rmcup
( smcup
alterna para uma tela secundária em que o top
comando é executado e, quando você sai, top
rmcup
alterna para a tela normal)
Você pode usar o comando top para fazer isso ( como criar um alias permanente do Bash? )
clear
parece apagar tudo, exceto a última tela do buffer de rolagem também (portanto, deixando apenas a última tela do topo nesse caso) - pelo menos no xfce4-terminal e no QTerminal. A tput
resposta funciona muito bem, especialmente em um alias paratop
less
a última saída desapareceu completamente do buffer.
htop
comando superior-mas-não-interno e 2. alias os comandos juntos para que você não precise encadeá-los manualmente a cada vez.
Ironicamente 1 , esse foi brevemente o comportamento de top
. No 3.3.8, limpou top
a tela, mas não nas versões anteriores ou posteriores. Veja o bug do Red Hat # 977561 :
A limpeza da tela é um resultado indireto de alterações nas manipulações de terminais que foram introduzidas por Jim Warner (autor da ferramenta 'top') para suprimir a inundação da ferramenta 'top' com sinais SIGWINCH gerados por algumas das aplicações de terminal amplamente usadas. Fui eu quem denunciou o problema de inundação e ele tentou fazer o possível para resolvê-lo e lançou uma correção para o problema na forma de oito commits separados. A confirmação que introduz a limpeza de tela tem o seguinte hash: 'dedaf6e1a81738ff08ee8e8523871e12f555ad6d'.
Devido ao relatório de erros, Jim o corrigiu novamente para não limpar a saída no 3.3.9 .
top
não tem opções ou definições de configuração para controlar isso, AFAICT, esse é um comportamento totalmente codificado. Convém registrar uma solicitação de recurso em https://gitlab.com/procps-ng/procps/issues/ .
Até então, você poderia clear
manualmente sugerir Rinzwind , ou usar tput
como sugerir uma chave de aço.
Curiosamente, o commit mencionado acima também tem uma boa explicação do comando steeldriver sugerido, porque é de fato o mesmo que foi originalmente feito no código:
Um buffer de rolagem usado em vários emuladores de terminal pode ser um verdadeiro inconveniente para um usuário após algumas operações de redimensionamento. Pressões extras de teclas são necessárias com freqüência para renderizar corretamente a exibição da parte superior.
Após muita investigação, descobrimos duas seqüências terminfo que têm o efeito de desabilitar / restaurar esse maldito buffer de rolagem. Eles estavam bem ocultos sob um título de strings 'para iniciar / terminar programas usando cup'. Por sua vez, 'cup' lida com a capacidade de endereçamento do cursor de um tty.
Não nos importamos com o que você os chama ou com o que eles se referem, desde que eles façam o trabalho. E estes realmente fazem! No entanto, esteja ciente de que existem alguns efeitos colaterais, vários dos quais podem até ser considerados benéficos:
enter_ca_mode / smcup / ti desativa o buffer de rolagem (e isso é bom, é o que sempre esperávamos)
exit_ca_mode / rmcup / te restaura o buffer de rolagem (mas também restaura o conteúdo da tela existente anteriormente) (que é diferente dos resultados finais anteriores do programa) (onde a última tela renderizada foi deixada intocada)
... que corresponde aos comandos tput smcup
e tput rmcup
.
O comportamento que você está procurando a partir de menos é incorporado a uma alternativa chamada htop. Você pode instalá-lo com:
sudo apt-get install htop
Especificamente, ele alterna para o modo de tela alternativo antes de começar a preservar o conteúdo da tela original quando você fecha o htop. Ele também possui uma variedade de outros aprimoramentos sobre o topo dos procps. Depois de instalado, você pode executá-lo como um usuário comum:
htop
htop
é muito colorido, adiciona suporte ao mouse etc.
Você poderia usar watch
:
watch top -b
O padrão é atualizar a cada dois segundos; por exemplo, -n1
por um segundo, se você quiser alterar esse comportamento. Para sair watch
, pressione Ctrl+ em Cvez do habitual Q.
Outra abordagem é abrir uma nova janela do terminal, por exemplo, com xterm
:
xterm -e top
Este se comporta exatamente como top
normalmente faz, os fecha a janela quando você sair top
com Qe, claro, ele não deixa de saída no terminal você começou a partir. Adicione &
ao final deste comando para iniciá-lo em segundo plano e solte imediatamente o terminal novamente.
Como a resposta de Rinzwind aponta, o clear
comando limpa a top
saída da tela.
Depois de sair, top
você também pode usar Ctrl+ Lpara limpar a top
saída da tela. Depois de qualquer comando, você ainda pode rolar a tela para ver a top
saída antiga .
Para realmente limpar a tela, de modo que a top
saída não possa ser retornada, use o reset
comando:
top && reset
Outra opção para dar a "aparência nova" de uma nova sessão é executando uma "tela inicial ASCII" (se você tiver uma). No meu caso, eu correria:
top && reset && now && screenfetch
now
script chama clima, calendário ( cal
) e toilet
com tempo chique.screenfetch
pinta o logotipo do Ubuntu e as estatísticas da máquina..bashrc
regularmente sem necessidade, porque geralmente existem linhas como export PATH=...:$PATH
nesse arquivo e executá-lo várias vezes estenderá desnecessariamente o arquivo PATH
. Além disso, chamando neofetch
em .bashrc
não é um comportamento padrão (embora pareça fantasia). Por exemplo, quando eu re-corro, .bashrc
nada aparente acontece.
clear
se comportam da mesma forma: tente em duas janelas novas e diferentes. Em seguida, clique em window1 e digite window2. Agora role novamente nas duas janelas (roda do mouse). Na janela -você pode ver todas as linhas (dependendo do buffer de rolagem) enquanto na janela -você pode rolar uma tela para trás . Ou seja: limpa o buffer de rolagem enquanto é semelhante a $ window_height vezes pressionando (aka nova linha). for i in {1..200}; do echo "line $i"; done
CTRL+L
clear
CTRL+L
clear
clear
CTRL+L
ENTER
neofetch
é uma boa captura, mas acho que é um derivado chamado screenfetch
. Eu o uso para lembrar que estou no Ubuntu porque tenho inicialização dupla e o Windows Bash tem uma tela inicial diferente. Vou tirar .bashrc
referência. Quanto a + clear
e meu argumento era que eles são semelhantes, pois ambos deixam a saída no buffer de rolagem para trás. Ctrl
L
top
.bashrc
. Tente curl wttr.in/Edmonton?0
, é incrível. Use curl wttr.in/:help
para obter ajuda. Eu tenho uma chamada semelhante em um /etc/update-motd.d/
scriptlet e sou informado ao fazer login no console ou no ssh (não em todas as janelas do terminal). Se você gosta disso, adicione --silent --max-time 3
à ligação em espera para que não demore uma eternidade se a Internet estiver lenta.
curl wttr.in/Edmonton?0
é INCRÍVEL! Muito obrigado. Vou tentar espremer isso depois da toilet
exibição do tempo na minha tela inicial :)
htop
?