Clear Linux / UNIX BASH Shell Command Line Cache / History

in Categories , , , , , , , last updated January 31, 2008

Q. I just noticed faq about clearing dns cache and there are lots of commands stored in my cache. Can you tell me the command to clear out my command history or cache from a shell prompt?

A. Many programs read input from the user a line at a time. The GNU history library is able to keep track of those lines, associate arbitrary data with each line, and utilize information from previous lines in composing new ones. Bash and other shell may use this history library. The default fie is ~/.history or ~/.bash_history.

To display the history list with line numbers, enter

$ history

  4  cd /tmp/
    5  wget
    6  unzip 
    7  su - 
    8  vi /etc/httpd/
    9  service httpd restart
 997  vnstat -m -i eth1
  998  date
  999  yum update
 1000  w
 1001  ~/scripts/clean.cache rss squid web
 1002  history

Note: Lines listed with the a * have been modified.

To clear the history, enter:

$ history -c
The -c option causes the history list to be cleared by deleting all of the entries. For more information, enter:
$ help history

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 14 comments/add one below):

14 comment

  1. I have found this site very useful which comes with straight forward explanations, thanks a lot. morgen musonza

  2. Hi, Thank you very much.

    I also found in your site very useful, I am newcomer to linux operating system.

  3. Also you can make alias like
    alias clearhist=’rm ~/.bash_history;history -c;exit’
    This clear everything without leaving any sort of trail :)

  4. I’m running konsole on a linux system. Evidently, when I did ‘Settings->Save as Default’ in the konsole shell, there were 30 lines of commands in the history at that time. Now, when I start a new shell and issue first command: history, those 30 lines are displayed. I have tried removing different files in the ~/.kde/share/config/ dir, and this will clear the saved schema but not the history. I have tried ’rm ~/.bash_history;history -c;exit’ as stated above and still no change.
    Does anyone know where that old history is stored and how on earth I can remove it?
    Many thanks

  5. hi all,
    i realy very very happy of this web site
    because i need some thing related linux
    commands so i just type and get all details
    best regards
    and God Blease you

    Have a question? Post it on our forum!