bash-fu: You forgot to sudo

Jeff Mancuso August 6th, 2008

One of the more routine annoyances of a long day in the terminal is banging out some long command that happens to operate on a file your current user doesn’t have access to.

www@webserver:~$ rm -fr /usr/lib/python2.5/site-packages/buildbot/buildbot.png<br/><br/> rm: cannot remove `/usr/lib/python2.5/site-packages/buildbot/buildbot.png': Permission denied

You declined to sudo the command because you you forgot, were feeling cautious, or were unaware of the permissions bits of the file(s) in question. Now you have to type it again, or switch gears and start up some cursor navigation to prepend your sudo.

Next time, as an easy to use alternative, try:

sudo !!

In bash, !! expands to the last run command. sudo !! sudo’s the last command. That was easy.

Tags: , ,

4 Responses to “bash-fu: You forgot to sudo”

  1. GUL Says:

    Another usefull trick is type !*. That is the last command arguments (all but the first word).

    For example: www@webserver:~$ ls /usr/lib/python2.5/site-packages/buildbot/buildbot.png

    And then you want remove it, then:

    www@webserver:~$ rm !*

  2. Jeremy Says:

    Why not press Up, Home, and type “sudo”, rather than the “!!” mojo?

  3. Jeff Mancuso Says:

    “home” doesn’t work in most terminal environments, unfortunately

  4. a different Jeremy Says:

    no, but ctl-A does. granted, i like the !! & !* methods just as well.

Leave a Reply

Subscribe:

Add to Google
RSS
Try ExpanDrive

If you’ve heard of SSH then you need ExpanDrive.