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.
[email protected]:~$ apt-get install tmux E: 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? [email protected]:~$ 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”.
[email protected]:~$ sudo !!:p sudo 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”.
[email protected]:~$ sudo apt-get install tumx Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package tumx [email protected]:~$ ^tumx^tmux sudo apt-get install tmux Reading package lists... Done
Michael is a polyglot software engineer, committed to reducing complexity in systems and making them more predictable. Working with a variety of languages and tools, he shares his technical expertise to audiences all around the world at user groups and conferences. You can follow @mheap on Twitter