给定命令的历史记录:
1 pwd
2 mysql -u root -p
3 ps -ef | more
4 top
5 mysql -h 192.168.1.101 -u root -p
按向上箭头时,会滚动浏览所有这些命令。我以前在某处读到过(并在我的工作电脑上做过),您可以设置 BASH,这样当我第一次输入p
然后按向上箭头时,它只会滚动浏览历史记录中以“p”(pwd
和ps -ef | more
)开头的所有命令。当我输入mysql
然后按向上箭头时,它只会滚动浏览以“mysql”开头的所有命令。
我想设置我的笔记本电脑来使用它,但我找不到说明。
答案1
您可以配置增量搜索/etc/inputrc
(针对机器范围的更改)或~/.inputrc
(仅适用于您的用户帐户)。
添加以下两行:
"\e[A": 向后历史搜索 "\e[B": 历史搜索向前
答案2
或者,您可以按ctrl+R
进入reverse-i-search
模式。然后您可以开始输入,它会找到与您输入的字符串匹配的第一行(即,输入m
它会跳回到mysql -h 192.168.1.101 -u root -p
;然后输入o
它会跳回到ps -ef | more
因为那是第一行mo
。
您可以ctrl+r
再次点击以搜索之前的匹配项(即,ctrl+r,my,ctrl+r
将带您到以 开头的倒数第二个命令mysql
)
您可以阅读更多有关搜索 Readline 的信息历史搜索,与历史记录交互的命令以及如何修改默认的键绑定和行为在man bash
(或在线的)