Ctrl今天,打开 bash 终端后,我尝试通过-从 bash 历史记录中查找常用命令r。令我惊讶的是,没有找到。检查后~/.bash_history
,我在几行中看到了该命令的实例。命令历史记录是否不能通过检查文件(实时检查或针对缓存副本)来工作?
答案1
事实证明,其中还有比我意识到的更多的细微差别:HISTFILESIZE
确定 中保存的最大行数.bash_history
,而确定 中加载到可搜索缓存中的HISTSIZE
行数。增加到match后,我能够通过-找到该命令。~/.bash_history
HISTSIZE
HISTFILESIZE
Ctrlr
答案2
除了这个(HISTFILESIZE)之外,还有一个原因导致行不会出现在历史记录中:前导空格。如果您以空格开头的命令如下:
$ ls -l
$ ls -l
(开头有额外空格)
那么后者将不会出现在历史记录中。相关地,这是我的 .bashrc 的样子:
.bashrc:HISTCONTROL=ignoreboth
.bashrc:export HISTSIZE=100000
.bashrc:export HISTFILESIZE=100000
.bashrc:export HISTCONTROL=ignoredups:erasedups
.bashrc:export HISTTIMEFORMAT="%d/%m/%y %T "
高血压