Delete a Command from Bash History
Here I give some test commands to fill history:
pontikis@ubuntu:~$ clear
pontikis@ubuntu:~$ echo 1
1
pontikis@ubuntu:~$ echo 2
2
pontikis@ubuntu:~$ echo 3
3
pontikis@ubuntu:~$ my-secret-command
my-secret-command: command not found
I can view the history using history
command:
pontikis@ubuntu:~$ history
1 clear
2 echo 1
3 echo 2
4 echo 3
5 my-secret-command
6 history
So, to remove my-secret-command
(line 5), I use
-d
option of history
command:
pontikis@ubuntu:~$ history -d 5
pontikis@ubuntu:~$ history
1 clear
2 echo 1
3 echo 2
4 echo 3
5 history
6 history -d 5
7 history
DO NOT KEEP a Command in Bash History
Start a command with SPACE if you DO NOT want to be included in Bash history:
pontikis@ubuntu:~$ my-secret-starts-with-space
my-secret-starts-with-space: command not found
pontikis@ubuntu:~$ history
1 clear
2 echo 1
3 echo 2
4 echo 3
5 history
6 history -d 5
7 history
Make sure that your .bashrc file contains something like this
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
In other words, ensure that HISTCONTROL environmental variable is set to ignorespace or ignoreboth
Entrepreneur | Full-stack developer | Founder of MediSign Ltd. I have over 15 years of professional experience designing and developing web applications. I am also very experienced in managing (web) projects.