Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Damn Useful: When You Forget to type Sudo (codeulate.com)
25 points by r00k on Dec 9, 2008 | hide | past | favorite | 26 comments


You can also get at the arguments of the previous command line with !!:n, where n is the position of the argument.

i.e.

  host:test user$ touch one two three four five
  host:test user$ ls
  five	four	one	three	two
  host:test user$ cat four
  host:test user$ echo !!:1
  echo four
  four
Also, "Esc, dot" is an awesome bash shortcut. (Press them consecutively, not concurrently). It inserts the last argument of the previous command in place. So if you're doing something to the same file, Esc, . will usually bring up the file name.

i.e.

  host:test user$ cat five
  host:test user$ touch [Esc, .]


Easier than [Esc, .] is !$. Does the same thing.


Either work, it all amounts to habit. My fingers are just used to hitting esc, . and it's nice to see the argument get inserted inline as I'm editing.


Except you can press [esc, .] multiple times.


In most "Esc then X" cases, you should also be able to type Alt+X, which jives better with some folks' preferences.


Sounds like some kid discovering a bash feature, nothing more. May I post a link to a page with a whole lotta nifty bash tricks instead? http://www.ukuug.org/events/linux2003/papers/bash_tips/


I'm "the kid."

I intentionally restrained myself to one tip. See http://codeulate.com/?p=21 for the reasoning.


That makes total sense for your blog -- getting one tip a day in your RSS reader is way better for learning them than looking at them all at once.

However, I don't think it makes sense to post it on HN. If all the posts on the front page were little snippets, the conversation would quickly degenerate.


I think useful content is useful regardless of length.

Also, TONS of crap gets submitted to HN. You're seeing this because it was voted to the front page. I don't think I'm affecting the quality of conversation negatively.


That's not something you want to optimize.

When working on a production box, I've trained myself to type the command without sudo, then actually take my hands off the keyboard and sit on my hands while I ponder what might go wrong with the command. Then I hit ^A sudo space return.


Lots of bash tips, organized like bash.org: http://news.ycombinator.com/item?id=142045


Imagine an angry father yelling for his son. “Sudo!!” Sudo runs down from his room, sees the command he was supposed to be in front of, and executes it immediately.

No, no, he's got it all wrong. The son then says "Okay, I'll do it in a minute" and proceeds to go back to playing WoW or whatever he does for fun.


If anyone is interested in more of these tricks, this document was on HN a while back: http://www.scribd.com/full/2933314?access_key=key-2lwqsfr2e5...


Direct link to pdf on author's web site:

http://www.deer-run.com/~hal/UnixCommandLineKungFu.pdf


Thanks, that was actually the link I wanted to post. When I copied it I realized it was google's big messy click-through URL, so I went for the next result instead.


The way mentioned in the article, might be slightly easier but as I am a vim user and have the vi mode enabled in bash,my command chain for this action is:

^[ k I sudo

Esc (^[ = Esc) exits to command mode, k goes to the previous command, shift-i moves the cursor to the beginning of the line and sudo is well sudo.

Slightly more complex but it is reflex from all of the other programs I use.




If this is new to anyone here, I strongly recommend reading the BASH man page. There's a whole lot of time saving features there.


Stop reminding me that I'm on Windows


Dual-boot, my friend!


Get cygwin.


I didn't really like cygwin when on windows. For some reason, whenever I would hit delete, instead of going backwards and erasing the previous character, it just spaced me forwards. This meant I had to count the number of times I hit backspace then start typing whatever it was I needed in the middle of the next line, surrounded by whitespace.

I gave up and switched to Ubuntu.


The problem of the delete/backspace dichotomy on character terminals is older than both our ages put together.


I meant to say backspace.


Get CoLinux [ http://www.colinux.org/ ]

Edit: even better resource: http://colinux.wikia.com/wiki/Main_Page




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: