有没有办法增加默认的历史记录reverse-i-search
( CTRL+ ) 数量?在 Ubuntu 16.04 中,它似乎没有很长的“记忆”,有时甚至昨天的命令也已经从其历史记录中消失了,即,即使使用重复的+R循环遍历所有条目也不会出现。CTRLR
我正在使用终结者作为控制台。
答案1
这真的很容易,只需改变你的HISTSIZE
和HISTFILESIZE
变量.bashrc
HISTSIZE=-1
HISTFILESIZE=-1
在 bash 4.3 及更高版本中,您还可以使用 HISTSIZE=-1 HISTFILESIZE=-1 将其设置为无限制。
考虑一下HISTSIZE
当您的 bash 会话正在进行时,历史列表中存储在内存中的行数或命令数。
HISTFILESIZE
是 (a) 在会话启动时允许在历史文件中出现的行数或命令数,以及 (b) 在 bash 会话结束时存储在历史文件中以供将来的会话使用的行数或命令数。
看看这个关联
问候,
答案2
没有时间限制,而是一个线或者尺寸 命令行历史记录的限制。
您可以在您的~/.bashrc
export HISTSIZE=500000
export HISTFILESIZE=500000
意味着您的历史记录中有 500,000 行“内存”,包括当前 ( HISTSIZE
) 和写入历史文件 ( HISTFILESIZE
) 的内容。
但是,请记住,该文件仅当您出口一个终端。
你可以使用reverse-i-search
你的命令在相同的终端,在将历史记录写入历史文件之前,但是在退出原始终端之前,无法在任何新终端中找到您的命令!
答案3
历史记录的大小由两个变量指定HISTSIZE
(单个终端会话的历史记录,保存在 RAM 中) 和HISTFILESIZE
(历史记录文件的大小,通常为~/.bash_history
)。此大小以文件中的行数设置~/.bashrc
,例如:
HISTSIZE=1000
HISTFILESIZE=10000
这将为每个终端会话保存 1000 行(= 命令),并在历史文件中保存 10000 行。
reverse-i-search 搜索当前会话的历史记录以及历史文件,但不能包含仍打开的其他会话的命令。
进一步阅读: