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:



2011-03-12 - Confoo 2011 presentation
Slides are available from the commandlinefu presentation at Confoo 2011: http://presentations.codeinthehole.com/confoo2011/
2011-01-04 - Moderation now required for new commands
To try and put and end to the spamming, new commands require moderation before they will appear on the site.
2010-12-27 - Apologies for not banning the trolls sooner
Have been away from the interwebs over Christmas. Will be more vigilant henceforth.
2010-09-24 - OAuth and pagination problems fixed
Apologies for the delay in getting Twitter's OAuth supported. Annoying pagination gremlin also fixed.

Top Tags



Search commandlinefu.com from the command line using the API

Terminal - Search commandlinefu.com from the command line using the API
cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; }
2009-08-19 02:18:24
User: knoopx
Search commandlinefu.com from the command line using the API

Usage: cmdfu hello world


There are 27 alternatives - vote for the best!

Terminal - Alternatives
curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext"
2010-08-23 20:25:13
User: potatoface

for me the above command didn't work for more than one argument but this one does

cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" --silent | vim -R - }
2012-02-10 16:26:47
Functions: vim

Search for one/many words on commandlinefu, results in vim for easy copy, manipulation. The -R flag is for readonly mode...you can still write to a file, but vim won't prompt for save on quit.

What I'd really like is a way to do this from within vim in a new tab. Something like

:Tex path/to/file


:cmdfu search terms
cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext" --silent | sed "s/\(^#.*\)/\x1b[32m\1\x1b[0m/g" | less -R }
2011-11-08 12:21:06
User: hoodie
Functions: less sed

just like the original - just colored and with less

Know a better way?

If you can do better, submit your command here.

What others think

Very nice, but you should use $* instead of $@ here so that searches for multiple words work.

Comment by yogan 294 weeks ago

It seems to work fine with $@. I think the two are identical if not in quotes. Presumably curl url encodes the spaces between words.

Comment by johnraff 284 weeks and 5 days ago

That interesting, why does commandlinefu use openssl in it's search urls? Wouldn't it make things simpler and prettier to just use: http://www.commandlinfu.com/commands/matching/$search/plaintext?

Comment by matthewbauer 277 weeks and 1 day ago

why using openssl to base64 encode. Just use the base64 command : $(echo -n $@ | base64)


Comment by dooblem 259 weeks and 4 days ago

Is there any way to change the url to only search for my own favorites, I can get a list of my own commands, but I want to get a list of the commands I have favorited.

Comment by billymoon 172 weeks and 4 days ago

Your point of view

You must be signed in to comment.