The Power of Linux “History Command” in Bash Shell

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Use our Linode referral link if you plan to buy VPS (it starts at only $10/month).
  4. Support us via PayPal donate - Make a Donation
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Narad Shrestha

He has over 10 years of rich IT experience which includes various Linux Distros, FOSS and Networking. Narad always believes sharing IT knowledge with others and adopts new technology with ease.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

Receive Your Free Complimentary eBook NOW! -

Download Free Linux eBooks

Advanced Bash-Scripting Guide
Linux Bible
A Newbie's Getting Started Guide to Linux
Introduction to Linux - A Hands on Guide

You may also like...

21 Responses

  1. the digitalmouse says:

    Great stuff! I would suggest updating the title text for points 11, 12, and 13 to read: “Recall Last…”, not “Recall Lastly…” just to make the tips a bit more readable and could possibly improve search engine results. It is also proper grammar. :) Keep up the good work!

  2. SGTItlog says:

    To clear (totally) all the command history of a certain user (e.g root)

    1. Log-in to that user
    2. cat “” > .bash_history (same as cat /dev/null > .bash_history)
    3. history -c

    Logout and re-login.

  3. Dragos Alexe says:

    Dear Narad,
    If you allow me one suggestion. The ignoredups remove consecutive duplicates; erasedups- eliminate duplicates across the whole history.
    So, if I type multiple times-but not consecutive- the same commands in bash:
    1.ls -l
    2.dir -a
    3.ls -l- the way to remove duplicates from history is : export HISTCONTROL=erasedups.
    Great work!!
    Thanks!!!!!!!!!!!!!

  4. Milton Reyes says:

    HISTSIZE=0 is nice if you don’t want to leave traces of history increasing security, however your shell is your working tool and sometimes you need to view the commands you typed previously which you can’t with this limitation.
    Consider this:
    ln -s -f /dev/null ~/.bash_history
    This approach will keep the history through your session and erase it when you close shell or logout

  5. Jack says:

    Thanks for this nice summary on the “history” command. I’ve been using the method with grep as
    in paragraph 10 for years. Now I’ve upgraded my linux system and get the following:
    $ history | grep pwd
    Binary file (standard input) matches
    Any idea what might be misconfigured, making grep consider the output of history to be binary, even
    when it clearly isn’t?

  6. ilya says:

    Good article! Just one question: can anyone explain why all commands in the first example have the same time stamp, 2013-06-09 10:40:12 ?
    Even if you cut and pasted them, commands “ping google.com” would take more than one second, would not they?
    Occasionally I see the same anomaly in my history logs; I wonder if these time stamps are reliable at all?

  7. charm aliros says:

    This article saved tons of my worries. I am not a linux cli expert and I am asked to configure an l2tp server. Did not know how to add iptables rules and so checking the previous commands in a different server, I was able to copy and execute the proper commands!

    Cheers!

  8. Satyendra Jaiswal says:

    Hi,
    I really very thankful for your post , it’s very useful for me , I am a beginner in Linux , we can delete all history using “$ history -c” command, but I want to delete my history from last 1 month, or any specified duration , how can we delete by command ,

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

Join Over 150K+ Linux Users
  1. 100,756
  2. 5,113
  3. 36,418

Enter your email to get latest Linux Howto's