Is there any way to exclude commands like rm -rf
, svn revert
from being getting stored in bash history? Actually I, by mistake, have issued them a number of times even though I have no intent to do, just because I am doing things quickly and it happened. Hence results in lost of lots of work I have did so far.

- 829,060

- 699
-
3You might be interested in http://serverfault.com/questions/48769/avoid-to-keep-command-in-history – Luc M Feb 23 '12 at 17:50
3 Answers
You might want $HISTIGNORE
: "A colon-separated list of patterns used to decide which command lines should be saved on the history list." This line in your ~/.bashrc should do the job:
HISTIGNORE='rm *:svn revert*'
Also, you can add a space at the beginning of a command to exclude it from history. This works as long as $HISTCONTROL
contains ignorespace
or ignoreboth
, which is default on any distro I've used.

- 51,350
-
7
-
I used to accidentally enter additional
y
, after allcp
(aliased tocp -i
) get over. So I aliasedy
asalias y='$(history | awk '"'"'END{if(NF==2 && $2=="y"){print "history -d " $1}}'"'"')'
... ButHISTIGNORE
is better method as it looks. :) Thanks. – anishsane Nov 22 '13 at 13:02 -
2Just to be more explicit: you can add
export HISTCONTROL="ignorespace"
to your~/.bashrc
to ignore commands that start with spaces. – Aidan Feldman Jun 12 '16 at 02:20 -
-
NOTE: space should be included when we type in the commandline and not in HISTIGNORE. – Gayan Weerakutti Mar 27 '18 at 05:58
-
On Fedora 39
echo $HISTCONTROL
prints onlyignoredups
(ignore duplicate entries). – user598527 Mar 03 '24 at 12:03
Though going slightly different from OP's question, when I intentionally don't want a command to get stored in bash history, I prefix them with a space. Works in Ubuntu and its variants, not sure if it works on all systems.

- 233
- 1
- 7
I usually kill my bash-instance when I have done things that I don't want in the history.
kill -9 $$
$$ represents the current process - bash when you run it from the shell. You can use $BASHPID, but that's more typing :-)

- 139
-
2Some Bash settings (like this) will save the history after each command, and in that case this won't work. – l0b0 Feb 23 '12 at 15:41
-
1I used to do this. but setting
HISTFILE=/dev/null
is a better option. – anishsane Nov 22 '13 at 12:54 -
-