How to Delete History in Linux Easily

Channel: Linux
Abstract: $ history -d For example to delete the sixth entry history listyou can use the wipe tool to securely delete .bash_history file

The .bash_history file located in the user’s home directory keeps the history of commands you typed on the terminal. This helps users to reuse listed commands without retyping it.

If you don't want others to see your typed commands for any reason, you can easily delete the history. In this guide, we learn how to delete history from Linux.

1. Delete History List Command Line

To see your bash history using history command, type:

$ history 
 1 history 
 2 vim .bash_history 
 3 exit
 4 history

To delete history list from the command line, use the following commands:

$ history -c
$ history -w
2. Delete specific command from history

From the history list if you want to delete specific command, use the following syntax:

$ history -d <line-number>

For example to delete the sixth entry history list, type:

$ history -d 5
$ history -w
3. Delete history without a trace

To clear the bash history completely without a trace on the server, one solution is to link ~/.bash_history to /dev/null.

$ cat /dev/null > ~/.bash_history

Alternatively, you can use the wipe tool to securely delete .bash_history file:

$ wipe ~/.bash_history
4. Turn off bash history

The $HISTFILE variable store the bash history file location.

You can stop history logging into the history file by adding unset HISTFILE to user profiles.

$ echo "unset HISTFILE" >> /etc/profile
or
$ echo "unset HISTFILE" >> /home/tom/.bash_profile

Alternatively, you can set zero values to HISTSIZE and HISTFILESIZE in the .bashrc file.

5. Delete History Range

If you want to delete N lines from the bash history, you may use the following one-liner.

for i in {1..N}; do history -d START_POSITION; done

Where,

START_POSITION is the line number in the history list from where you need to start deleting.

N is no of the entries you want to delete.

For example to delete 13 entries from line 986, type:

for i in {1..13}; do history -d 986; done
Conclusion

In this guide, we learned how to clear history in Linux. Thanks for reading, please share your feedback and suggestions in the comment section.

Ref From: linuxopsys

Related articles