要在 Linux 环境中禁用历史记录,我执行了以下命令:
export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE
这样的命令组合是否足够,或者我还必须执行history -c
或其他什么?
即使我重新启动服务器或需要在重新启动后一次又一次地执行此类命令,这是否会保持历史记录被禁用?
对于大多数用例来说,unset HISTFILE
应该足够了。
这将禁用写入历史文件,但它仍然允许使用up/循环浏览最后的命令down。
当您取消设置时,更改HISTFILESIZE
不会产生任何影响HISTFILE
,因为它只会影响 shell 退出时将多少行写入历史文件。如果使用 set 设置为 0 HISTFILE
,则文件将在退出时被截断为 0。
更改HISTSIZE
会更改当前 shell 将记住多少命令。
要使这种更改永久化,~/.bashrc
或者~/.profile
是插入命令的好地方。
只需将此命令添加到 bash 启动文件中,该文件可以是/etc/profile
、~/.bash_profile
、~/.bash_login
、~/.profile
或~/.bashrc
取决于您的目标范围和自定义 bash 的发行版。请参阅INVOCATION
bash 手册 ( man bash
) 部分。
shopt -u -o history
或者
set +o history
这将禁用历史记录。
尽管您必须清除一次历史记录:
history -c
并删除您的~/.bash_history
文件。
如果您希望它在重新启动后仍然存在,您可以将它们添加到~/.bashrc
或/etc/profile
。