What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again.

Delete that bloated snippets file you've been using and share your personal repository with the world. 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.

If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/

Get involved!

You can sign-in using OpenID credentials, or register a traditional username and password.

First-time OpenID users will be automatically assigned a username which can be changed after signing in.

Universal configuration monitoring and system of record for IT.

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.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

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:



May 19, 2015 - A Look At The New Commandlinefu
I've put together a short writeup on what kind of newness you can expect from the next iteration of clfu. Check it out here.
March 2, 2015 - New Management
I'm Jon, I'll be maintaining and improving clfu. Thanks to David for building such a great resource!

Top Tags





Salvage a borked terminal

Terminal - Salvage a borked terminal
2009-01-28 22:22:01
User: root
Functions: reset
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.


There are 2 alternatives - vote for the best!

Terminal - Alternatives
stty sane
2009-11-09 15:58:06
User: darkpand
Functions: stty
Tags: terminal reset

When some console full-screen program (minicom, vi, some installers) breaks down your terminal, try this command to revert all options to "sane" settings (sane is a built-in combo of a lot of stty options)

<ctrl+j>stty sane<ctrl+j>
2009-08-05 21:50:07
User: CharlieInCO

This is more or less the same as 'reset', but with two advantages: the initial LF character makes sure you're starting a new line to the tty driver, the final one is more reliably a line-end as CR is often unset; and second, 'stty sane' is reliable on older UNIX systems, especially Berkeley-based ones.

echo <ctrl-v><esc>c<enter>
2009-08-05 18:32:28
User: kcm
Functions: echo

This works in some situations where 'reset' and the other alternatives don't.

2009-11-09 16:15:26
User: flart
Functions: reset

If something fracks up your terminal, just type in 'reset' and everything should be good again.

Know a better way?

If you can do better, submit your command here.

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.

Comment by LudoA 355 weeks and 5 days ago

Use "cat -v" instead of "cat" to cat binary files without borking the terminal.

Comment by int19h 354 weeks and 1 day ago

interesting enough, +enter will fix this as well, no need for external commands.

Comment by SiegeX 354 weeks 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.

Comment by SiegeX 354 weeks 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?

Comment by int19h 354 weeks ago

in alternative, this is what I use:


Comment by berta 354 weeks ago

@int19h: Yeah, reset doesn't always work.

Comment by mulad 353 weeks and 5 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.

Comment by atoponce 352 weeks and 2 days ago

Interesting, I always use "stty sane" CTRL-J

Comment by mpb 350 weeks 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.

Comment by CharlieInCO 329 weeks and 5 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="\u@\h^O" (^O produced with ctrl+v,ctrl+o)

No more borked terminals.

Comment by john6of6 321 weeks ago

Your point of view

You must be signed in to comment.