在Linux中禁用历史记录

时间:2013-09-06 17:11:37

标签: linux bash shell history

要在Linux环境中禁用历史记录,我执行了以下命令:

export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE

这样的命令组合是否足够,或者我还必须执行history -c或其他什么?

即使重新启动服务器还是需要在重新启动后再次执行此类命令,这是否会禁用历史记录?

3 个答案:

答案 0 :(得分:27)

对于大多数用例,unset HISTFILE应该足够了。

禁用写入历史文件,同时仍允许使用 up / down 循环显示最后一个命令。
取消设置HISTFILESIZE时,更改HISTFILE没有任何影响,因为它只会影响shell退出时将多少行写入历史文件。如果设置为HISTFILE设置为0,则退出时文件将被截断为0 更改HISTSIZE会更改当前shell将记住的命令数。

要使此更改成为永久更改,~/.bashrc~/.profile是插入命令的好地方。

答案 1 :(得分:23)

只需将此命令添加到bash启动文件,该文件可能是/etc/profile~/.bash_profile~/.bash_login~/.profile~/.bashrc,具体取决于您的目标范围和定制bash的发行版。请参阅bash手册的INVOCATION部分(man bash)。

shopt -u -o history

或者

set +o history

哪会禁用历史记录。

虽然您必须清除一次历史记录:

history -c

并删除您的~/.bash_history文件。

答案 2 :(得分:1)

如果您希望它在重新启动后保留,可以将其添加到~/.bashrc/etc/profile