如何在Linux中禁用bash shell历史记录

时间:2020-01-09 14:16:17  来源:igfitidea点击:

如何不保存root用户的shell历史记录。
如何强制Linux或Unix服务器忘记bash shell历史?
如何在Linux上为root用户禁用bash shell历史记录?

bash shell将从终端输入的命令保存到历史文件中。
您可以调用先前执行的命令列表。

history命令显示您之前执行的bash命令。
这些命令构成了您的命令历史记录。
默认情况下,历史记录显示从最早到最新的500条最新命令的编号列表。

HISTSIZE变量的值用作要保存在历史记录列表中的命令数。

如何显示当前历史

只需输入history命令:

history
history | less
history | more
history | grep 'find'

如何找出历史记录中保存的命令数

使用echo命令或printf命令:

echo "$HISTSIZE"

或者

printf "%d\n" $HISTSIZE

输出示例:

1000

HISTSIZE变量的值指示历史列表中保存了1000条命令。

我的bash历史记录命令存储在其中

历史记录是从变量HISTFILE命名的文件中初始化的。
默认值为~/.bash_history文件。
要查看当前设置,请运行:

echo "$HISTFILE"

或者

printf "%s\n" "$HISTFILE"

输出示例:

/home/Hyman/.bash_history

如何在Linux或Unix上禁用BASH Shell历史记录

您可以通过执行以下unset命令来删除HISTFILE shell变量:

unset HISTFILE

将以上行添加到新的/etc/profile.d/disable.history.sh文件或~/.bash_profile中:

echo 'unset HISTFILE' >> /etc/profile.d/disable.history.sh

或者

echo 'unset HISTFILE' >> ~/.bash_profile

如何使用set命令永久禁用bash历史记录

另一个选择是将+ o history选项传递给set内置命令:

set +o history

再次在新文件/etc/profile.d/disable.history.sh文件或~/.bash_profile的末尾添加" set + o history"。
有关更多信息,请参见如何在bash中设置和使用shell选项。

如何清除bash历史

在当前会话中执行以下命令:

history -c

要从Linux/Unix中的历史记录中删除单个命令号42:

history -d 42