我可以增加 bash 中命令历史记录的大小吗?
请注意,我在本科生天体物理系使用的是 Red Hat Linux 计算机(因此我没有获得那么多特权)。
答案1
您可以执行以下操作,而不是指定数字
unset HISTSIZE
unset HISTFILESIZE
shopt -s histappend
在这种情况下,只有您的磁盘大小(以及您的“最大文件限制”,如果您的操作系统或文件系统有的话)是限制。
但是,请注意,这最终会越来越减慢 bash 的速度。看到这个Bash常见问题解答文档和Debian 管理文章(原链接已失效,照照镜子吧:存档.is和Archive.org)以获得可扩展性更好的技术。
答案2
@Philomath,取消设置这些环境变量对我来说根本不起作用!对我来说,这会导致 bash 使用其内置默认值(看起来)将 .bash_history 截断到大约 9KiB。
对我有用的是我的 .bashrc 中的以下内容:
export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
答案3
您可以使用对数旋转保留旧条目。例如,它允许您设置将触发存档的大小限制。它通常从每日 cronjob 运行,但您也可以从.bash_logout
脚本中调用它。