6 ms·
I would warn anyone that read this to understand what each command does before actually running anything on a machine. Things like "sudo !!" are INCREDIBLY dan
by cwh 14y ago
I would warn anyone that read this to understand what each command does before actually running anything on a machine.
Things like "sudo !!" are INCREDIBLY dangerous, and I would never put that on a cheat sheet.
- ericcholis 14y agoTruthfully, I'm more comfortable using the up arrow and re-running it manually. At least I can inspect what the command was before running it. Obviously, this doesn't help when using Fabric or scripting, but you shouldn't need "sudo !!" in those scenarios.
- mhurron 14y agoAnyone running commands blindly without knowing what they do deserves what they get. That goes for potentially dangerous commands or not. Or put in a slightly nicer way - Blindly running commands is going to turn into a learning experience, don't do it on a production machine.
- jiggy2011 14y agoI suppose if you type it at any random point it might be. It's useful more when typed something that you forgot to sudo.
- darkarmani 14y agoIf you are running sudo, the long-term payoff is probably higher if you never use sudo !!. The very small chance of a huge disaster is still a lot higher than up arrow. Unless you are on a laggy connection and up arrow delays and you push it twice and end up running the wrong command! If you have lots of jitter and lag, i suggest using Mosh which I've found to be amazingly awesome when using it on Amtrak's spotty free wifi (3G uplink).
- ineedtosleep 14y agoI've never had any incidents with `sudo !!`, however, I should point out that zsh (maybe other shells as well) replaces the `!!` with the full command and requires another press of Enter. $ rm -rf /root rm: cannot remove `root': Permission denied $ sudo !! # Does not run this, but returns the line below. $ sudo rm -rf /root # Then you say, "Wait I dont want to do this."
- chc 14y agoInteresting. Bash on my OS X box shows the command you're running, but doesn't give you a chance to cancel it. It looks like this: $ rm -rf /root rm: cannot remove `root': Permission denied $ sudo !! sudo rm -rf /root # /root is now kaput
- chc 14y agoI think it's meant for when you run a command normally, but then realize you should have sudoed (sudid?) it. Though in that situation, I would still be inclined to do "↑ esc a sudo ". It's not a lot more work, but it is a lot less uncertain.
- CJefferson 14y agoSo, what's wrong with sudo !! then?
- dsr_ 14y agoIt re-executes your previous command -- this time with root privilege. If and only if you meant to do that, you're fine.
- dbaupp 14y agoThe "only if" part is false: it is certainly possibleto be fine having done sudo !! without meaning to do it.
- Firehed 14y agoWhy else would you type it in? I can't imagine many people saying "hm, that command I didn't intend to run didn't work. Maybe I should run it as root instead." Hopefully if you're in a NOPASSWD user/group, you know what root can do if you're careless; if you're not, there's yet another point where you'd have go out of your way to do damage with this shorthand.
- dror 14y agoIt's too easy to have a sticky key and type sudo !1 by accident. As a rule, not a good idea to do sudo from history without examining it first. So do up arrow or CTRL-P and the edit the command.
- AaronBBrown 14y agoI use this one like a dozen times a day. user@host$ less /var/log/syslog Permission Denied crap... $ sudo !! sudo less /var/log/syslog Woo!
- biturd 14y agowhy would that be bad? You would get to read your file.
- AaronBBrown 14y agoIt's not bad. It's extremely useful. If someone is so negligent that they run something potentially destructive and then immediately sudo !!, they probably shouldn't be administering systems.
- sudara 14y agoThis is exactly how I use it. A time saver for mundane "whups" moments.