反向搜索历史记录未找到预期的命令

反向搜索历史记录未找到预期的命令

Ctrl今天,打开 bash 终端后,我尝试通过-从 bash 历史记录中查找常用命令r。令我惊讶的是,没有找到。检查后~/.bash_history,我在几行中看到了该命令的实例。命令历史记录是否不能通过检查文件(实时检查或针对缓存副本)来工作?

答案1

事实证明,其中还有比我意识到的更多的细微差别:HISTFILESIZE确定 中保存的最大行数.bash_history,而确定 中加载到可搜索缓存中的HISTSIZE行数。增加到match后,我能够通过-找到该命令。~/.bash_historyHISTSIZEHISTFILESIZECtrlr

答案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 "

高血压

相关内容