HISTSIZE V/s HISTFILESIZE
HISTSIZE 和 HISTFILESIZE 之间的区别在于 HISTSIZE 限制了命令历史记录显示的命令数量,而 HISTFILESIZE 限制了 $HISTFILE 中可以保存的命令数量。
当退出 bash 时,如果在单个 bash 会话中执行的命令数超过 $HISTSIZE 个,则 $HISTFILE 的内容将替换为 $HISTSIZE 个命令数。
如果 bash 会话中的命令数少于或者等于 $HISTSIZE,只要 $HISTFILESIZE 允许,这些命令将添加到 $HISTFILE。
如果要追加到 $HISTFILE 的命令数加上 $HISTFILE 中当前现有的命令数大于 $HISTFILESIZE,则 $HISTFILE 中最旧的命令将被删除以确保保留最新的命令。
如何更改 bash 历史记录中记住的命令数量
在 bash 中,默认情况下,历史命令记录在 ~/.bash_history 文件中。
我们可以使用环境变量 HISTFILE 指定 ~/.bash_history 以外的其他文件。
历史记录中要记住的命令数量可以由环境变量 HISTSIZE 指定。
例如,将以下行添加到 .bash_profile:
# vi ~/.bash_profile export HISTSIZE=500
然后退出当前的 shell 并启动一个新的 shell 或者我们可以运行 .bash_profile 文件以使更改生效。
要记住的历史命令的数量将更改为 500。
# . .bash_profile
主要影响保存上次运行命令的 Bash History 设置的 2 个环境变量是 HISTSIZE 和 HISTFILESIZE 。
这篇文章是关于如何更改 bash 历史记录中记住的命令数量的简短方法。
更改当前 shell 中 bash 历史记录中记住的命令数
即使在 bash 会话中执行的命令数量超过 $HISTSIZE,也可以运行以下命令强制将历史命令添加到 $HISTFILE:
# shopt -s histappend