Recently I needed to repeat a series of long~ish commands in the command line but I never quite memorized them so I ended up resourcing to arrow-up-arrow-up-arrow-up until I found the command I was looking for.
But there is a better and super simple way:
history in the command line will list all the recent typed commands (I’m not sure how far it goes…) so you don’t need to remember anything. Now the problem is when you have a very long output. You end up scrolling-scrolling-scrolling </ad infinitum>…
In this case you can use
| grep (pipe (|), the thing on the same key as the \ in your keyboard) to limit the results. For example: I remember that the command I want has the word ‘prune’ in it but I can’t remember the exact command, so I run:
history | grep prune
and I will get only a list of commands that contain the word ‘prune’.
Now that I have the full command I can also save some typing. See that the history output has a number before the list of commands?
6050 docker ps6051 docker images6052 docker rmi c516053 docker ps -a6054 docker image ls6055 docker volume prune -f6056 docker system prune -a6057 docker images6058 docker ps
Well, if you type !command-number, that command will be executed. From my list above, if I type
docker volume prune -f will run again.
It took me a while to starting using these shortcuts. I didn’t see how searching for a command and calling its shortcut was useful until my history got super long and I started using some commands so rarely that it was hard to recall them from memory.
The post Check which commands you typed in the command line and don’t repeat yourself! was originally published at flaviabastos.ca