How To Clear Shell History In Ubuntu Linux

last updated in Categories , ,

How do I clear the shell history in Ubuntu Linux? How can I clear terminal command history in Ubuntu Linux? How do I clear bash history completely on Ubuntu Linux?

Command history allows you to find and reissue previously typed commands. History expansions introduce words from the history list into the input stream, making it easy to repeat commands, insert the arguments to a previous command into the current input line, or fix errors in previous commands quickly. You may pass sensitive information such as passwords and it is stored in shell history file. Use the following tips to either delete your history or disable it.

How to clear bash shell history command

The procedure to delete terminal command history are as follows on Ubuntu:

  1. Open the terminal application
  2. Type the following command to to clear bash history completely:
    history -c
  3. Another option to remove terminal history in Ubuntu:
    unset HISTFILE
  4. Log out and login again to test changes

Let us see examples and usage in details.

Finding info about your history

To get name of the history file, type:
echo "$HISTFILE"

So my history is stored in /home/vivek/.bash_history file. It can store up to 1000 commands by default. To see your current settings run the following echo command
echo "$HISTSIZE"

To see current history, run:
history | grep 'du'

The grep command used in last to filter out history.

Command to clear Ubuntu bash history

To clear the history, type the following command:
history -c
rm ~/.bash_history
You can add the command to your ~/.bash_logout so that history will get cleared when you logout:
echo 'history -c' >> ~/.bash_logout
How To Clear Shell History In Ubuntu Linux

Prevent a bash history file from ever being saved

Add the following commands to ~/.bashrc file:
echo 'unset HISTFILE' >> ~/.bashrc
echo 'export LESSHISTFILE="-"' >> ~/.bashrc

A list of history shell variables

Bash shell variableDescription/Usage
export HISTFILE=~/.my_shell_history
The name of the file in which command history is saved. The default is $HOME/.bash_history.
export HISTFILESIZE=50000
The maximum number of lines contained in the history file.
export HISTSIZE=50000
The number of commands to remember in the command history. The default is 500. If the value is 0, commands are not saved in the history list.
# Ignore these commands
#Dont put duplicate lines in the history
export HISTCONTROL=ignoreboth

For more info read bash command man page online or offline by typing the following command:
man bash
help history

See “A Shell Primer: Master Your Linux, OS X, Unix Shell Environment” for more info.

Posted by: Vivek Gite


10 comment

  1. any of you guys know how to make sure your history is NEVER wiped out?

    i use the amazing
    incremental history searching from here

    and would like to always have my history
    whereas on Ubuntu it gets wiped out every so often

    i guess it will be something like echo ‘whateveristhecommandhere’ >> ~/.bashrc

  2. I personally like to use this basic command to clear the history

    # history -c

    history [option] – c means clear the history

  3. I just tried this on ubuntu 14 and found that history -c did NOT remove the contents of my .bash_history file, so I have to run both commands:

    “`history -c
    rm ~/.bash_history“`

    1. File recovery programs on the ~/.bash_history which is obvious. Learn about file recovery on Linux (e.g. versus Windows or Mac), for an overview of basic computer forensics.

    Still, have a question? Get help on our forum!