Salvage a borked terminal

If you bork your terminal by sending binary data to STDOUT or similar, you can get your terminal back using this command rather than killing and restarting the session. Note that you often won't be able to see the characters as you type them.
Sample Output
␍▒┴␋␍@␊▒⎼├␤:? $ 
␍▒┴␋␍@␊▒⎼├␤:? $ 
␍▒┴␋␍@␊▒⎼├␤:? $ 
␍▒┴␋␍@␊▒⎼├␤:? $ ⎼␊⎽␊├
[email protected]:~ $

By: root
2009-01-28 22:22:01

9 Alternatives + Submit Alt

What Others Think

Nice to know. I normally always reset it by typing "cat /bin/ls" (you can use any binary file you want) and hitting ^C while it's still cat'ting.
LudoA · 606 weeks and 5 days ago
Use "cat -v" instead of "cat" to cat binary files without borking the terminal.
int19h · 605 weeks and 2 days ago
interesting enough, +enter will fix this as well, no need for external commands.
SiegeX · 605 weeks and 1 day ago
stupid tag parsing. Lets try this again: interesting enough ctrl+v,ctrl+o then hitting enter will fix this as well, no need for external commands.
SiegeX · 605 weeks and 1 day ago
reset doesn't always work for me if the terminal is borked, is this a bug or am I doing something wrong? Anyone else encountered reset not resetting the terminal?
int19h · 605 weeks ago
@int19h: Yeah, reset doesn't always work.
mulad · 604 weeks and 6 days ago
This is what the 'file' command is for. If you don't know the file type you're about to echo to the terminal, run 'file' on it before hand, then use the right tool to parse its data. If you do, and reset doesn't work, ^Jreset^j might. ^j (ctrl-j) is the ASCII key sequence for the Enter key.
atoponce · 603 weeks and 2 days ago
Interesting, I always use "stty sane" CTRL-J
mpb · 601 weeks and 1 day ago
'reset' goes with tset and the System V-style termio. stty sane does much the same thing but is portable to the older style terminal driver.
CharlieInCO · 580 weeks and 6 days ago
I simply have the solution SiegeX presented as part of my system prompt so I never get borked. Using Vi in binary mode I edited my .bashrc and inserted the control character into the PS1 variable so that PS1="\[email protected]\h^O" (^O produced with ctrl+v,ctrl+o) No more borked terminals.
john6of6 · 572 weeks and 1 day ago
I think this is an informative post .
broomhaylie · 7 weeks ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this? is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.


Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: