Quick Links

Press the "up" arrow in the Mac or Linux command line and you'll see the last command you ran. Keep pressing "up" and you'll see more commands; you can go back days, months, or even years.

This is called your history, and it's very convenient. If you made a mistake typing a long command, simply press "up" and fix the problem. If you want to re-connect to an SSH server you used the other day, simply press "up" until you see the relevant command.

It's useful, but there's also a potential security problem here, particularly if you accidentally typed a password in plain text at some point. How does one clear this history? Long story short, you can do so with two commands:

        history -c
    

, followed by

        rm ~/.bash_history
    

. Here's what those commands do, for greater clarity.

Clear the Current Session's History

Your history can be broke down into two chunks. There's your current sessions' history, and there's your long-term history. Our first command,

        history -c
    

, deals with the current session.

bash-history-c

The

        history
    

command is built into Bash itself, and the

        -c
    

modifier tells the program to clear that history. This command will prevent anything in your current session from being written to your long-term history, but does not clear out that long-term history.

Clear All of Your Bash History

If you want to remove the entirety of your history, run the following command:

        rm ~/.bash_history
    
bash-clear-history

If you don't know,

        rm
    

is a longstanding command for deleting files in UNIX-based systems.

        ~/.bash_history
    

is a simple text document, which stores you Bash history.

Alternatively, you could open the file and delete any lines you're concerned about. On a Mac, type

        open ~/.bash_history
    

and your default text editor will open the file.

bash-edit-history-mac

On Linux systems, replace

        open
    

with the name of your preferred text editor, such as

        nano
    

,

        vim
    

, or

        gedit
    

. One you've opened the file, you can delete any lines you'd rather not keep by hand. Save the file, then restart your shell, and the lines you've deleted will stop showing up.

Clear Your Terminal for a Like-New Session

This one is mostly unrelated, but I'm mentioning it anyway. The command

        clear
    

makes your Terminal look like you just opened a new session, which is useful if you take a lot of screenshots and want things to look tidy (or don't want people over your shoulder to see what commands you've been running.)

bash-clear

This is entirely aesthetic: scroll up and you'll still see your previous output. But if you're in my line of work, it comes in handy.