如何在Ubuntu Linux中清除Shell历史记录

时间:2020-01-09 10:37:41  来源:igfitidea点击:

如何清除Ubuntu Linux中的Shell历史记录?如何清除Ubuntu Linux中的终端命令历史记录?如何在Ubuntu Linux上完全清除bash历史记录?命令历史记录使您可以查找并重新发出以前键入的命令。

历史记录扩展将历史记录列表中的单词引入输入流,从而使重复命令变得容易,将上一个命令的参数插入当前的输入行,或快速修复先前命令中的错误。
您可能会传递敏感信息,例如密码,并将其存储在shell历史记录文件中。
使用以下提示删除或禁用您的历史记录。

如何清除bash shell历史命令

在Ubuntu上删除终端命令历史记录的过程如下:

  • 打开终端应用程序
  • 键入以下命令以完全清除bash历史记录:history -c
  • 在Ubuntu中删除终端历史记录的另一个选项是:unset HISTFILE
  • 注销并再次登录以测试更改

让我们详细查看示例和用法。

查找有关您的历史记录的信息

要获取历史记录文件的名称,请输入:

echo "$HISTFILE"
`/home/Hyman/.bash_history`

所以我的历史记录存储在/home/Hyman/.bash_history文件中。
默认情况下,它最多可以存储1000条命令。
要查看当前设置,请运行以下echo命令

echo "$HISTSIZE"
`1000`

要查看当前历史记录,请运行:

history
history | grep 'du'

最后使用的grep命令过滤掉历史记录。

清除Ubuntu bash历史记录的命令

要清除历史记录,请键入以下命令:

history -c

或者

rm ~/.bash_history

您可以将命令添加到~/.bash_logout中,以便在注销时清除历史记录:

echo 'history -c' >> ~/.bash_logout

防止保存bash历史记录文件

将以下命令添加到~/.bashrc文件:

echo 'unset HISTFILE' >> ~/.bashrc
echo 'export LESSHISTFILE="-"' >> ~/.bashrc

历史shell变量列表

Bash shell变量描述/用法
HISTFILE echo $HISTFILE export HISTFILE =~/.. my_shell_history保存命令历史的文件名。默认值为$HOME/.bash_history。
HISTFILESIZE export HISTFILESIZE = 50000历史文件中包含的最大行数。
HISTSIZE export HISTSIZE = 50000在命令历史记录中要记住的命令数。默认值为500。如果值为0,则命令不会保存在历史记录列表中。
HISTTIMEFORMAT export HISTTIMEFORMAT ="%d /%m /%y%T"如果设置了此变量且不为null,则其值将用作strftime(3)的格式字符串以打印关联的时间戳内置的历史记录会显示每个历史记录条目。如果设置了此变量,则将时间戳记写入历史记录文件,以便可以在Shell会话之间保留它们。使用历史注释字符将时间戳与其他历史记录行区分开。
HISTIGNORE #忽略这些命令HISTIGNORE =" ls:pwd"冒号分隔的模式列表,用于决定应在历史记录列表中保存哪些命令行。
HISTCONTROL #不在历史记录导出中添加重复行HISTCONTROL = ignoreboth用冒号分隔的值列表,用于控制如何在历史记录列表中保存命令。如果值列表中包含" ignorespace",则以空格字符开头的行不会保存在历史记录列表中。值" ignoredups"会导致与以前的历史记录条目匹配的行无法保存。值ignoreboth是ignorespace和忽略up的简写。值erasedups导致所有与当前行匹配的先前行在保存该行之前从历史记录列表中删除。不在上面列表中的任何值都将被忽略。

有关更多信息,请通过键入以下命令来在线或离线阅读bash命令手册页:

man bash
help history