Bash 历史记录太短/不断被删除(可能无法在重启后保留)

Bash 历史记录太短/不断被删除(可能无法在重启后保留)

我的 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_historyapparmor

我从 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 之前创建的每个主目录中进行更新

由于上述步骤很容易出错,因此当然也需要进行备份。

相关内容