我的 bash 历史记录运行良好,只是太短了。
HISTSIZE 和 HISTFILESIZE 设置为 16k,但我在历史文件中只看到大约 1000 个条目。目前,其中最旧的命令似乎大约是一周前,这与我上次重启的时间大致相符。历史文件可能在重启后无法保存。(这个特定问题在在这个问题中,但没有给出解决方案)
一些相关数据:
.bash_history:
-rw------- 1 aib aib 10633 Mar 22 10:56 /home/aib/.bash_history
(~700 lines, oldest about a week ago)
.bashrc:
HISTCONTROL=ignoreboth
shopt -s histappend
HISTSIZE=16384
HISTFILESIZE=16384
除了(我几乎一无所知)之外/etc
似乎没有提到其他内容。.bash_history
apparmor
我从 Konsole(KDE 的终端)运行 bash,很少使用 tty1~6。
编辑:我已确定了早期条目(#30)的日期,它是 10 天。我的正常运行时间为 11 天。我的 .bash_history 文件很可能无法在重启后保存下来。
编辑:我刚刚重启了,历史文件被保存了下来。所以我无法重现这个问题。
答案1
在我的系统上,我创建了一个 /etc/profile.d/histsize.sh 文件,其中包含以下两行:
export HISTSIZE=10000
export HISTFILESIZE=2000000
另外,我用相同的两行替换了 .bashrc 中的两行相似行。默认的 .bashrc 有这两行:
HISTSIZE=1000
HISTFILESIZE=2000
我也将其替换为:
export HISTSIZE=10000
export HISTFILESIZE=2000000
更新 .bashrc 时,你必须记住在 /etc/skel 以及在更新 /etc/skel/.bashrc 之前创建的每个主目录中进行更新
由于上述步骤很容易出错,因此当然也需要进行备份。