DEV Community

Paul Micheli
Paul Micheli

Posted on • Edited on

History Is Your Friend

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)