怎么清除linux终端的历史,如何完全清除bash历史?

问题描述

我想在我的服务器的历史命令之前清除所有命令。我使用history -c似乎所有的东西都被清除了,但是当我ssh到服务器时,所有的命令仍然存在。

我如何永久清除它们?

最佳解决方法

文件~/.bash_history保存历史记录。

要在服务器上完全清除bash历史记录,请打开终端并键入

cat /dev/null > ~/.bash_history

其他备用方法是将~/.bash_history链接到/dev/null

然而,

一个令人讨厌的side-effect是历史条目在内存中有一个副本,当你注销时它会回到文件。

要解决这个问题,请使用以下命令(为我工作):

cat /dev/null > ~/.bash_history && history -c && exit

次佳解决方法

该怎么办:

在每个打开的bash shell中(您可能会打开多个终端):

history -c

history -w

原因:如上所述,history -c清空文件~/.bash_history。请注意,bash shell不会立即将历史记录刷新到bash_history文件。因此,重要的是(1)将历史记录刷新到文件中,并(2)清除所有终端中的历史记录。这就是上面的命令。

第三种解决方法

执行以下命令永久清除历史记录

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

现在重新登录并见证你的arrow-up不会给你任何东西。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值