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.

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



Psst. Open beta.

Wow, didn't really expect you to read this far down. The latest iteration of the site is in open beta. It's a gentle open beta-- not in prime-time just yet. It's being hosted over at UpGuard (link) and you are more than welcome to give it a shot. Couple things:

  • » The open beta is running a copy of the database that will not carry over to the final version. Don't post anything you don't mind losing.
  • » If you wish to use your user account, you will probably need to reset your password.
Your feedback is appreciated via the form on the beta page. Thanks! -Jon & CLFU Team

Plays Music from SomaFM

Terminal - Plays Music from SomaFM
read -p "Which station? "; mplayer --reallyquiet -vo none -ao sdl http://somafm.com/startstream=${REPLY}.pls
2009-05-04 00:26:19
User: denzuko
Functions: read
Plays Music from SomaFM

This command asks for the station name and then connects to somafm, Great for those who have linux home entertainment boxes and ssh enabled on them, just for the CLI fiends out there ( I know I'm one of them ;)

Also, don't forget to add this as alias(ie alias somafm="read -p 'Which Station? "; mplayer --reallyquite -vo none -ao sdl


There are 6 alternatives - vote for the best!

Terminal - Alternatives

Know a better way?

If you can do better, submit your command here.

What others think

didn't understood the alias part. You say put the whole command as an alias in the .bashrc?

Comment by gadget00 412 weeks and 2 days ago

@gadget00 your correct, it saves from having it lost in your home directory as some random script file. Which can be a quite handy trick for these simple one liners.

Comment by denzuko 412 weeks and 1 day ago

I added a little bit to this and turned it into a function. It provides a list of stations to listen to instead of just asking.

somafm() { local station;echo "Select a station to listen to:";select station in "Doomed" "Groove Salad" "Lush" "Suburbs of Goa" "Secret Agent" "Drone Zone" "Space Station" "cliqhop idm" "Digitalis" "Sonic Universe" "Boot Liquor" "Covers" "Illinois Street Lounge" "indie pop rocks" "PopTron" "Tags Trip" "Beat Bender" "Mission Control";do station=$(echo -n "$station"|tr '[:upper:]' '[:lower:]'|sed 's/ //g');break;done;mplayer -vo none -ao sdl http://somafm.com/startstream=${station}.pls;}
Comment by eightmillion 386 weeks and 6 days ago

@eightmillion Thanks, that helps a lot. Do you mind if I publish your version(credit and linkbacks to you included) on my blogs?

Comment by denzuko 383 weeks and 2 days ago

neither of thes are working for me.

Comment by stealyourwife 375 weeks and 1 day ago

Ok, i figured it out.. the --reallyquiet flag is the problem.

i guess it helps to read error messages

Comment by stealyourwife 375 weeks and 1 day ago

function version isn't working though...i saved in in a file and chmod +x somafm ...it just goes back to a prompt when i try to run it

Comment by stealyourwife 375 weeks and 1 day ago

Function works brilliantly for me! Executing this at CLI (or in a file) simply creates the 'somafm' function.

You then need to execute it:

Comment by j0rg3 206 weeks and 6 days ago

Your point of view

You must be signed in to comment.