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:
- Open the terminal application
- Type the following command to to clear bash history completely:
- Another option to remove terminal history in Ubuntu:
- 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:
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
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:
You can add the command to your ~/.bash_logout so that history will get cleared when you logout:
echo 'history -c' >> ~/.bash_logout
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 variable||Description/Usage|
|The name of the file in which command history is saved. The default is $HOME/.bash_history.|
|The maximum number of lines contained in the history file.|
|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.|
export HISTTIMEFORMAT="%d/%m/%y %T "
|If this variable is set and not null, its value is used as a format string for strftime(3) to print the time stamp associated with each history entry displayed by the history builtin. If this variable is set, time stamps are written to the history file so they may be preserved across shell sessions. This uses the history comment character to distinguish timestamps from other history lines.|
# Ignore these commands
|A colon-separated list of patterns used to decide which command lines should be saved on the history list.|
#Dont put duplicate lines in the history
|A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespace, lines which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups. A value of erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored.|
For more info read bash command man page online or offline by typing the following command:
See “A Shell Primer: Master Your Linux, OS X, Unix Shell Environment” for more info.