Linux History Command
If you leverage and utilise the command line history, you can save a lot of time on a daily bases. You can also use it to gain a better under standing of how a newly discovered server is administrated by viewing the history of commands run.
How does it work?
Just run the command;
paulmicheli@minime:~$ history 23 sudo apt install python3.8 24 sudo apt update 25 sudo apt install software-properties-common 26 sudo add-apt-repository ppa:deadsnakes/ppa 27 sudo apt update 28 sudo apt upgrade 29 sudo apt install python3.8 30 sudo apt install python 31 sudo apt-get install python3.6 32 sudo reboot
A date & time stamp is always helpful
Having a time stamp of when the command was run can help im many different ways.
For this to happen you will need to add the below to your .bashrc file and reload using the source command;
## History timestamp export HISTTIMEFORMAT="%h %d %H:%M:%S " export HISTSIZE=50000 export HISTFILESIZE=50000
paulmicheli@minime:~$ source ~/.bashrc
Now when you run the history command you'll see the date and time;
paulmicheli@minime:~$ history 23 Sep 07 13:52:23 sudo apt install python3.8 24 Sep 07 13:52:23 sudo apt update 25 Sep 07 13:52:23 sudo apt install software-properties-common 26 Sep 07 13:52:23 sudo add-apt-repository ppa:deadsnakes/ppa 27 Sep 07 13:52:23 sudo apt update 28 Sep 07 13:52:23 sudo apt upgrade 29 Sep 07 13:52:23 sudo apt install python3.8 30 Sep 07 13:52:23 sudo apt install python 31 Sep 07 13:52:23 sudo apt-get install python3.6
- the two additional arguments I have added increase the history size
How to use it
Command | Example | Description |
---|---|---|
!n | !27 | Execute nth command in history |
!! | !! | Execute the previous command |
blah | !ls | run the most recent command that starts with βblahβ |
!blah:p | !ls:p | print out the command that !blah would run |
!* | !* | the previous command except for the last word |
!$ | !$ | Last argument of last command |
!^ | !^ | First argument of last command |
Reverse searching
Press the ctrl
key and the r
key simultaneously. The below prompt will appear;
(reverse-i-search)`':
Start typing the bit of the command you remember and you will see the most recent match from your command history;
(reverse-i-search)`ocke': docker ps
press ctrl+r
again to cycle through all your history
that match this search term.
(reverse-i-search)`ocke': docker stop 35e0e91e92de
Removing history
There may come a time that you want to remove some or all the commands in your history file. If you want to delete a particular command,
enter history -d <line number>
To clear the entire contents of the history file, execute
history -c.
The history file is stored in a file that you can modify, as well.
Bash shell users find it in their home directory as .bash_history.
Top comments (0)