如何完全清除bash历史?
我想清除服务器历史记录中的所有先前命令。 我使用history -c
似乎一切都被清除但是当我ssh到服务器时,所有的命令仍然存在。
我该如何永久清除它们?
文件~/.bash_history
保存历史记录。
要在服务器上完全清除bash历史记录,请打开终端并键入
cat /dev/null > ~/.bash_history
另一种方法是将~/.bash_history
链接到/dev/null
然而,
一个令人讨厌的副作用是历史记录条目在内存中有一个副本 ,它会在您注销时刷新回文件 。
要解决此问题,请使用以下命令(为我工作):
cat /dev/null > ~/.bash_history && history -c && exit
该怎么办:
在每个打开的bash shell中(可能有多个终端打开):
history -c history -w
原因:如上所述, history -c
清空文件~/.bash_history
。 请务必注意,bash shell不会立即将历史记录刷新到bash_history文件中。 因此,重要的是(1)将历史记录刷新到文件,以及(2) 在所有终端中清除历史记录。 这就是上面的命令。
参考: http : //www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/
执行以下命令以永久清除历史记录
history -c && history -w
祝好运!
还有一个更简单的方法:在终端提示符上运行history -c
并且消失了bash_history
文件中的所有条目。
另一种方法是使用rm ~/.bash_history
命令删除~/.bash_history
文件。 当您再次登录时,将自动创建.bash_history
文件。
清除当前shell的历史记录:
history -c
当您注销时,当前shell的历史记录会附加到〜/ .bash_history,这是以前shell历史记录的缓存,最大数量(请参阅“man bash”中的HISTFILESIZE)。
如果你想完全删除历史记录,那么你基本上必须清空〜/ .bash_history,其中许多上述条目已经建议。 如:
history -c && history -w
这将清除当前shell的历史记录,然后强制当前shell的历史记录(空)覆盖〜/ .bash_history ….或者更准确,它会强制它覆盖HISTFILE(默认为〜/ .bash_history)。
希望这可以帮助。
rm ~/.bash_history; history -c; logout
现在重新登录并见证你的向上箭头没有给你任何东西。
试试这个
编辑.profile
并在文件末尾添加以下行
rm -f .bash_history
这样,每次登录时,它都会自动删除您的.bash_history文件。 添加-r recursive remove选项似乎很危险,不需要。