HISTFILE:保存命令历史的文件名 。默认值是 ~/.bash_history。如果取消定义,在交互式 shell 退出时命令历史将不会保存。
HISTFILESIZE:历史文件中包含的最大行数。当为这个变量赋值时,如果需要的话,历史文件将被截断来容纳不超过这个值的行。默认值是 500。历史文件在交互式 shell 退出时也会被截断到这个值。
HISTIGNORE:HISTIGNORE="ls:ll:pwd:history" 一个冒号分隔的模式列表,用来判断那个命令行应当保存在历史列表中。每个模式都定位于行首,必须匹配整行 (没有假定添加 ‘*’)。在 HISTCONTROL 指定的测试结束后,这里的每个模式都要被测试。除了平常的 shell 模式匹配字符, ‘&’ 匹配上一个历史行。‘&’ 可以使用反斜杠来转义;反斜杠在尝试匹配之前将被删除。多行的组合命令的第二行以及后续行都不会被测试,不管 HISTIGNORE 是什么,都将加入到历史中。
HISTSIZE:命令历史中保存的历史数量 (参见下面的 HISTORY 历史章节)。默认值是 500。
[space]
表示输入一个空格)[space]echo "hello world!"
解决方式(使变量无法被修改):
vi /etc/profile readonly HISTCONTROL=ignoredups
二、检查HISTSIZE、HISTFILESIZE变量(对于root管理普通用户的日志记录,只要设置了指定HISTFILE+实时记录日志,可忽略HISTSIZE):
当HISTSIZE被设置为0时,将没有历史日志被记录。
解决方式(使变量无法被修改):
vi /etc/profile readonly HISTSIZE=4000 readonly HISTFILESIZE=4000
三、设置指定HISTFILE存放历史记录文件,搭配history -a,实现事实记录日志,避免用户对记录进行编辑、删除等操作。
遇到问题:以上均解决,无法解决set -o history的情况。。。。。