在Linux中禁用历史记录

Ωme*_*ega 13 linux bash shell history

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

export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE
Run Code Online (Sandbox Code Playgroud)

是这样的命令组合还是我还要执行history -c或其他什么?

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

mat*_*ata 28

对于大多数用例来说,unset HISTFILE应该足够了.

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

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


kon*_*box 23

就在这个命令添加到这可能是一个bash启动文件/etc/profile,~/.bash_profile,~/.bash_login,~/.profile,或~/.bashrc根据该定制的bash你的目标范围和发行.请参阅INVOCATIONbash手册(man bash)部分.

shopt -u -o history
Run Code Online (Sandbox Code Playgroud)

要么

set +o history
Run Code Online (Sandbox Code Playgroud)

哪会禁用历史记录.

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

history -c
Run Code Online (Sandbox Code Playgroud)

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