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, .]
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.
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.
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.
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.
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.e.
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.