Respostas:
Você pode usar tput reset
.
Além reset
e tput reset
você pode usar o seguinte script de shell.
#!/bin/sh
echo -e \\033c
Isso envia caracteres de controle Esc-C
para o console que redefine o terminal.
Palavras-chave do Google: Sequências de controle do console Linux
man console_codes
diz:
A sequência ESC c causa uma redefinição do terminal, que é o que você deseja se a tela estiver toda distorcida. O frequentemente recomendado "eco ^ V ^ O" tornará apenas G0 atual, mas não há garantia de que G0 aponte na tabela a). Em algumas distribuições, há uma reinicialização do programa (1) que apenas "ecoa ^ [c". Se sua entrada terminfo para o console estiver correta (e tiver uma entrada rs1 = \ Ec), "tput reset" também funcionará.
tput reset
é mais rápido do que reset
no Ubuntu 16.04, pelo menos
Sei que você está em um terminal gnomo, mas pensei em responder com uma dica para outras pessoas que possam estar (como eu) em um Mac:
Se você estiver usando Terminal.app
ou iTerm.app
então Control+L
rolar para cima para que o terminal fique em branco, mas Cmd+K
na verdade redefinirá o terminal / limpará a rolagem para trás.
Ou, se você puder definir as preferências do teclado para o seu terminal, poderá atribuir algo como Ctrl+K
a entrada, echo -e \\033c
como mencionado acima.
Cmd+K
é tudo que eu queria. ty
A resposta de Anthon funciona no KDE Konsole, mas não no urxvt. No urxvt, eu uso o reset há alguns anos para limpar a rolagem (junto com todas as outras coisas que faz) e não estava satisfeito por não funcionar no Konsole. Então agora para Linux eu tenho um novo alias:
alias allclear='clear; echo -e "\033c\e[3J"'
Mas isso não funciona no OS X.
tput reset
não funciona em nenhum contexto AFAICT.
No KDE Konsole, ctrl- shift- klimpa a rolagem (incluindo o prompt do shell atual, para que fique completamente vazio). No iTerm ou no terminal da Apple no OS X, cmd- shift- ktambém limpa a rolagem. Para adicionar este recurso ao urxvt, adicione-o a ~ / .Xresources:
urxvt*keysym.C-S-K: command:\033c
allclear(){
`echo" Limpando terminal e scrollback ... "` `sleep 1.5`` clear; echo -e "\ 033c \ e [3J" ` }
` Edit: Não é possível fazer a formatação funcionar. Se alguém puder editar isso para que fique legível, eu agradeceria.
Mapeei F12para limpar a tela em cada uma das seguintes conchas: bash , csh e casca de peixe . Meu comando é diferente de todos os anteriores porque preserva o que você já digitou na linha atual.
(Nota: todas as configurações abaixo dependem do terminal, mas espero que funcionem virtualmente em todos os lugares)
Abra o arquivo ~/.inputrc
e insira a seguinte linha:
"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"
Para disponibilizar a nova ligação de chave, abra um novo terminal ou digite Ctrl+ Xe Ctrl+ Rpara recarregar o arquivo .inputrc no terminal atual.
Explicação
O arquivo ~ / .inputrc controla as ligações de teclas do terminal bash.
Sobre a linha:
"\e[24~"
,, mapeia a chave F12.C-k
( Ctrl+ X) limpa o anel de interrupção (memória de cópia e passado do bash).C-u
( Ctrl+ U) envia a linha atual para o kill-ring e a apaga.echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
envia dois comandos agrupados para o terminal. Eles são separados por ;
e terminados por \n
.
echo -ne '\\ec\\e[3J'
tela é limpa.history -d $((HISTCMD-1))
evita esses dois comandos de entrar na história.C-y
( Ctrl+ Y) cola o kill-ring armazenado pelo C-u
comando.C-?
( Ctrl+ ?) é equivalente Backspacee remove o espaço inserido na etapa 3 acima.Referências:
Digite o comando abaixo.
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
Também pode ser inserido no seu .cshrc
arquivo para carregar a ligação de teclas em todos os novos terminais.
(Sim, é muito mais simples que no bash)
Digite o comando abaixo.
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
Você pode editar e salvar a função fish_user_key_bindings
para carregar a ligação de teclas em todos os novos terminais.
(Sim, é muito mais simples que no bash)
[Ubuntu 16.04]
O arquivo .bash_history é criado no diretório inicial do usuário assim que o terminal é fechado
É útil, mas você pode excluí-lo se desejar. No entanto, ele seria criado toda vez que você terminar de usar o terminal.
Você pode excluí-lo manualmente de:
seu navegador de arquivos.
o terminal: lembre-se de que um novo arquivo .bash_history será criado quando você fechar o terminal (com base em sua configuração padrão).
Ou você pode chamar uma função personalizada se salvar a funcionalidade necessária em um arquivo vinculado a partir do bashrc. Você pode editar o próprio bashrc se quiser colocar seu código lá, mas os próximos exemplos estão em um arquivo separado
Honestamente, isso não é útil para mim, mas se você deseja excluir o histórico de comandos antes de sair, você pode fazer isso:
.bash_custom #este é o meu arquivo personalizado
blotout() {
HISTSIZE=0
rm $HOME/.bash_history
exit
}
depois, na parte inferior, adicione o nome e o caminho do meu arquivo
.bashrc # este é o arquivo de configuração do bash (eu acho)
# existent code
#...
#..
# import user customizations
source $HOME/.bash_custom
e isso é tudo.
MAS, para fazer exatamente o que você deseja, basta esta função no seu arquivo personalizado e vinculá-la:
refresh() {
tput reset
H=HISTSIZE
HISTSIZE=0
HISTSIZE=H
}
Ou apenas coloque a função no .bashrc, se desejar, mas dessa forma você provavelmente precisará de uma instrução de exportação após a função. Não tenho certeza e se o arquivo for atualizado provavelmente perdeu suas funções. Não tenho certeza disso também: D.
Lembre-se de que você precisa reiniciar o terminal ao editar o arquivo .bashrc ou o seu 'personalizado'.
Para mim, usando PuTTY no CentOS 7, clear deixa apenas o comando clear no scrollback, mas executar "clear && clear", duas instâncias do comando clear ao mesmo tempo, limpa completamente o scrollback e não deixa nenhuma barra de rolagem. Tente isso. É uma solução estranha, mas nenhuma dessas aqui eliminou a rolagem de forma eficaz, e isso é verdade.
No Fedora 30, a exclusão do histórico é feita removendo o arquivo $ HOME / .bash_history. A maneira mais fácil de limpar o arquivo de histórico do terminal através do teclado é:
nautilus
e pressione a Entertecla para abrir o aplicativo Arquivos (GNOME) (anteriormente conhecido como Nautilus)..bash_history
(que deve aparecer na barra de pesquisa se digitado imediatamente após a janela ser aberta; caso contrário, a barra de pesquisa pode ser acessada via Ctrl+ L).cat /dev/null > ~/.bash_history && history -c && exit
history -c
foi apresentado em duas respostas anteriores e foram excluídas por não serem respostas corretas para a pergunta. (2) Embora o fechamento da janela do terminal apague (provavelmente) a memória do terminal dos comandos anteriores, está longe de ser aparente que o OP queira fazer isso. … E PS exit
Não é garantido que um único comando feche a janela do terminal.