Bang Bang
10 May 2013 in Tech
Two quick terminal input manipulation commands today. The first is bangbang (!!
). !!
is a shortcut that means "substitute this with the last command run". It's most commonly used when you forget to sudo
a command.
bash
vagrant@precise64:~$ apt-get install tmuxE: Could not open lock file /var/lib/dpkg/lock -open (13: Permission denied)E: Unable to lock the administration directory (/var/lib/dpkg/),are you root?vagrant@precise64:~$ sudo !!sudo apt-get install tmux[sudo] password for vagrant:
If you want to make sure the command is right before executing it, you can add :p
to the end to say "print this" instead of "execute this".
bash
vagrant@precise64:~$ sudo !!:psudo apt-get install tmux
Then you can hit the up arrow and enter to run the command.
If you want a bit more versatility, you can use ^caret^substitution
. This means "find this first string in the last command, replace it with the second one and run the command again".
bash
vagrant@precise64:~$ sudo apt-get install tumxReading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate package tumxvagrant@precise64:~$ ^tumx^tmuxsudo apt-get install tmuxReading package lists... Done