如何增加Ubuntu 16.04中reverse-i-search(CTRL+R)的历史记录长度?
解决Terminator中reverse-i-search历史记录过短的问题
没问题,这事儿其实是bash的历史记录配置在起作用——Terminator本身不单独管理命令历史,它用的是bash默认的历史机制。咱们直接调整bash的配置就能解决:
1. 编辑bash配置文件
打开你的用户主目录下的.bashrc文件,用你习惯的编辑器就行,比如nano:
nano ~/.bashrc
2. 添加/修改历史记录相关配置
在文件里找到(或者直接添加)以下几行配置,根据你的需求调整数值:
# 设置当前会话内存中保留的历史命令条数 HISTSIZE=10000 # 设置保存到~/.bash_history文件中的历史命令条数 HISTFILESIZE=20000 # 避免重复记录连续相同的命令 HISTCONTROL=ignoredups # 可选:给每条历史命令加上时间戳,方便回溯 HISTTIMEFORMAT='%F %T '
HISTSIZE:控制当前终端会话里,内存中能记住的命令数量;HISTFILESIZE:控制硬盘上.bash_history文件能保存的总命令数量,建议设得比HISTSIZE大,避免旧记录被轻易覆盖;HISTCONTROL:可选配置,能让历史记录更整洁,减少冗余的重复命令;HISTTIMEFORMAT:也是可选项,加上时间戳后,用history命令查看时每条命令都会显示执行时间,回溯历史时更直观。
3. 让配置生效
保存并关闭.bashrc文件后,执行以下命令让配置立即生效:
source ~/.bashrc
或者直接重启Terminator终端也可以。
4. 验证配置
你可以用以下命令检查变量是否已经正确设置:
echo $HISTSIZE $HISTFILESIZE
之后再用CTRL+R测试reverse-i-search,就能找到更早的命令记录了。
要是你想让所有用户都生效,可以编辑/etc/bash.bashrc文件(需要sudo权限),但一般只修改自己用户的.bashrc就足够了。
内容的提问来源于stack exchange,提问作者Juha Untinen




