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.

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.

UpGuard checks and validates configurations for every major OS, network device, and cloud provider.

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



Suppress output of loud commands you don't want to hear from

Terminal - Suppress output of loud commands you don't want to hear from
function quietly () { $* 2> /dev/null > /dev/null; };
2011-10-02 05:02:48
User: GinoMan2440
Suppress output of loud commands you don't want to hear from

Suppresses all output to /dev/null. This could be expanded to check for a -l command line option to log the stderr to a file maybe -l file or -l to log to default quietly.log. I'm finding that I use it more often than one would think.


There are 4 alternatives - vote for the best!

Terminal - Alternatives
quietly() { "$@" |&:; }
quietly() { "$@" > /dev/null 2>&1; }
2011-10-04 06:45:42
User: wipu

This works even if there are spaces in any word in the command line.

Know a better way?

If you can do better, submit your command here.

What others think

less verbose to do it like >/dev/null 2>&1

Comment by TheMightyBuzzard 306 weeks and 4 days ago

Wow, that's a good idea. A few things, though.

You need to quote $* just in case the command has a space in it.

Shorten the redirects as TheMightyBuzzard says.

Shorten the name to something simple, maybe 'q' (too much typing otherwise :-)

function q () { "$*" > /dev/null 2>&1; };

Of course in bash, you don't need the keyword 'function'!

q() { "$*" > /dev/null 2>&1; };
Comment by flatcap 306 weeks and 4 days ago

fantastic, i have created 2 aliases for me. one for total silence, the other just redirects err to out for easy grepping ;)

function q () { $* 2>&1 ; }

function qq () { $* 2> /dev/null > /dev/null; }

PS: I do not think quotes are necessary or even good.

Comment by oernii3 306 weeks and 3 days ago
* without quotes fails, if there are spaces in the command or its arguments. $* with quotes "expands to a single word with the value of each parameter separated by the first character of the IFS special variable." (man bash). So it tries to run the whole command-line as a command name.

So, the only valid option here is "$@". It expands to a list of quoted words, just like the original.

Comment by wipu 306 weeks and 2 days ago

Your point of view

You must be signed in to comment.