要在Linux环境中禁用历史记录,我执行了以下命令:
export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE
这样的命令组合是否足够,或者我还必须执行history -c
或其他什么?
即使重新启动服务器还是需要在重新启动后再次执行此类命令,这是否会禁用历史记录?
答案 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
。