Esse lixo pode ser um rescaldo de um comando que envia dados binários para seu console. Normalmente você não quer comandos para fazer isso. Ainda é possível devido a um erro ou algum erro. Exemplo:
Você queria cat file
onde file
é um arquivo de texto, você cometeu um erro de digitação e executou cat fild
, onde fild
era um arquivo binário.
Nesse cenário, algumas seqüências específicas de byte podem ser interpretadas pelo emulador de terminal como seqüências de controle, afetando seu comportamento posterior.
Para corrigir isso:
- Pressione Ctrl + C algumas vezes caso algum processo ainda esteja em execução ou você tenha algo na linha de comando que você digitou cegamente.
- Digite
reset
. - Pressione Enter .
Em man 1 reset
:
When invoked as
reset
,tset
sets cooked and echo modes, turns off cbreak and raw modes, turns on newline translation and resets any unset special characters to their default values before doing the terminal initialization described above. This is useful after a program dies leaving a terminal in an abnormal state. Note, you may have to type<LF>reset<LF>
(the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state. Also, the terminal will often not echo the command.
Assim, a versão mais infalível do comando parece ser:
- Digite Ctrl + J
reset
Ctrl + J .
Minhas experiências (particularmente em tmux
) mostram que em alguns casos reset
pode não ajudar; ainda assim normalmente faz.