Skip to content

How to disable bash shell history in Linux?

2 min read

Display current history

Just type the history command:


history
history | less
history | more
history | grep 'find'


How to find out the number of commands saved in the history

Use echo command or printf command :


echo "$HISTSIZE"

OR
printf "%d\n" $HISTSIZE


Sample outputs:
1000


The value of the HISTSIZE variable indicates that the 1000 number of commands saved in a history list.


Where are my bash history commands stored


The history is initialized from the file named by the variable HISTFILE. The default is the ~/.bash_history file. To view current settings run:


echo "$HISTFILE"

OR
printf "%s\n" "$HISTFILE"

Sample outputs:

/home/vivek/.bash_history


How to disable BASH shell history on Linux or Unix

You can remove HISTFILE shell variable by typing the following unset command:


unset HISTFILE

Add above line to the end of to a new /etc/profile.d/disable.history.sh file or ~/.bash_profile:


echo 'unset HISTFILE' >> /etc/profile.d/disable.history.sh

OR
echo 'unset HISTFILE' >> ~/.bash_profile


How to permanently disable bash history using set command


Another option is to pass the "+o history" option to the set builtin command:


set +o history

Again add "set +o history" to the end of to a new /etc/profile.d/disable.history.sh file or ~/.bash_profile. See how to set and use shell option in bash for more info.


How to clear the bash history


Type the following command in your current session:


history -c

To delete a single command number 42 from history in Linux/Unix:


history -d 42

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Linux server management

hardening, patching, monitoring and automation for Ubuntu, Debian, RHEL and AlmaLinux.

Was this answer helpful?

Still stuck? Open a ticket