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

Run the last command as root

Terminal - Run the last command as root
sudo !!
2009-01-26 10:26:48
User: root
990
Run the last command as root

Useful when you forget to use sudo for a command. "!!" grabs the last run command.

Alternatives

There are 2 alternatives - vote for the best!

Terminal - Alternatives
`!!`
2010-11-19 17:40:01
User: strzel_a
6

\$ which python

/usr/bin/python

\$ ll `!!`

lrwxrwxrwx 1 root root 9 2010-11-08 22:01 /usr/bin/python -> python2.6

su -c "!!"
2012-02-21 15:38:30
User: mesuutt
Functions: su
3

Same as `sudo !!`. If you do not have permission to be sudo or sudo does not installed on your system, you can use this.

pfexec !!
sudo !-1
2013-04-22 03:45:14
User: datamining
Functions: sudo
0

this command also can run the last command as root

what's more, sudo !-2 can run the second last command as root , and so on

sudo !!
2009-02-25 00:52:28
User: silbermm
Functions: sudo
-12

I often forget to type sudo before a command that needs it. This is the quickest way to rerun the command prefixed by sudo.

Know a better way?

If you can do better, submit your command here.

What others think

This one might be my most commonly used "one liner". I even wrote a post about it in my blog ;)

Comment by JackiesJungle 284 weeks and 2 days ago

Doesn't this only work under ZSH ?

Comment by pyrho 284 weeks and 1 day ago

doesnt seem to work under bash/centos4?

Comment by trix 284 weeks and 1 day ago

work on Ubuntu 8.04

Comment by mrbyte 284 weeks ago

works on fedora with bash!

Comment by betsubetsu 283 weeks and 3 days ago

I almost never use sudo. It promotes bad security: using the same password for root and and for regular users.

Comment by grep 283 weeks and 2 days ago

This command owns all.

chmod 755 foo.bar operation not permitted sudo !! sudo chmod 755 foo.bar [sudo] password for waldo: (insert text of elation here)
Comment by farglenargle 282 weeks and 5 days ago

works in bash/Debian !!

Comment by prayer 282 weeks and 1 day ago

I love you.

Befor I'v been so pissed off after typing long stings of command, and then have forgotten sudo. Therefor having to go all the way to the beginning of the command and enter sudo.

Love it

Comment by Meeko 280 weeks and 5 days ago

@meeko "All the way to the beginning"? Just hit the HOME key. Life is short! :-)

sudo is great for sandwich making also:

http://www.xkcd.com/149/

Comment by mpb 280 weeks and 1 day ago

lots of the machines we use don't do home key - they do ~ instead - go figure.

this could be very usefull. Thanks.

I use !$ a lot. repeats the last word in the previous command

e.g.

ping

nslookup !$

will translate to

nslookup

obviously the first ! grabs the previous line, and the second character does somnething else - ! grabs the first word, $ grabs the last word.

anyone know any other variants or where to look up the man page - er... is it regexp or part of sh or perl or what??? ('scuse my ignorance - the unix needs a reverse lookup database)

Comment by bulwynkl 279 weeks and 4 days ago

Regarding using the "home" key to get to the beginning of a command.. I just wanted to note, that you can almost always use "Ctrl-A" to jump to the beginning of the line in Bash and many other programs. I think it's part of libreadline? Also, if you're using Bash in a Screen session, use Ctrl-A twice to jump to the beginning of a line.

Comment by cmang 279 weeks and 3 days ago

The HOME key is a single key press.

Why chose a two key sequence instead of one?

Comment by mpb 279 weeks and 1 day ago

I love this because it always feels like I'm yelling at my computer.

do_something # i don't wanna... SUDO!! # ok, fine...
Comment by isaacs 278 weeks and 5 days ago

I vote this down, because 'sudo' is not meant to be used in this way. Totally bad security practice! Even if you are the only user in your computer, you are advised to put only those commands that are safe and commonly used in the sudoers file. Otherwise, you are probably going to learn it in a hard way.

Comment by jxy 278 weeks and 3 days ago

And I vote it up, because this -is- how sudo is intended to be used in many modern systems such as Ubuntu and OS X.

Comment by qubyte 276 weeks and 6 days ago

I use Ctrl+p, Ctrl+a, sudo before.

Comment by kylexlau 271 weeks and 6 days ago

OK, this inspired me to patch xkcd-149 :)

http://www.vanginderachter.be/2009/patched-xkcd-149-make-me-a-sandwich/

Comment by svg 268 weeks and 1 day ago

This is great!

Comment by marcop 252 weeks and 6 days ago

Should work under bash, but you may have it disabled (set -H or set -o histexpand to reenable)

Comment by unixmonkey6345 252 weeks and 5 days ago

nice

Comment by haven489 235 weeks and 2 days ago

I wrote an article about this and other popular one-liners. See it here:

http://www.catonmat.net/blog/top-ten-one-liners-from-commandlinefu-explained/

Comment by pkrumins 227 weeks and 6 days ago

pretty good

Comment by deargodzw 227 weeks and 5 days ago

Explained the next 10 top one-liners:

http://www.catonmat.net/blog/the-next-ten-one-liners-from-commandlinefu-explained/

Comment by pkrumins 226 weeks and 6 days ago

Worky fine, OS X Snow Leopard 10.6.3.

Comment by hced 223 weeks ago

before I found `sudo !!` I used to do the following:

1) arrow up (to get the last command from history)

2) Ctrl+A (to put the cursor at the front of the command)

3) type "sudo " and hit enter

Comment by jemptymethod 198 weeks and 1 day ago

WTF ? This is the best command for everyone ?

Damn ubuntu lamers...

Comment by gormux 187 weeks and 6 days ago

Don't listen to the "Sudo promotes bad security" types. You know what promotes worse security? Actually operating as root.

Comment by Karunamon 139 weeks ago

awesome

Comment by jldbasa 129 weeks and 2 days ago

@jemptymethod me too

Comment by dfang 104 weeks and 1 day ago

Works in OS X Mountain Lion 10.8.1

Comment by mainmethod 98 weeks and 5 days ago

this command trick and many like it are part of the history command.

try

man history

for more variants

if your shell does not have history it wont work

Comment by bulwynkl 91 weeks and 3 days ago

this command trick and many like it are part of the history command.

try

man history

for more variants

if your shell does not have history it wont work

Comment by bulwynkl 91 weeks and 3 days ago

Your point of view

You must be signed in to comment.

Related sites and podcasts