所以,我查看了历史和Ctrl+ R,但它们并不是我认为我所知道的。有没有一种方法可以让我在命令的开头输入,并使用一些 bash 快捷方式循环浏览历史记录中的匹配项?
# mysq(some shortcut key)
给我:
# mysqldump --add-drop-table -e -q -n -C -u
(some shortcut key)
# mysql -u ben.dauphinee -p
答案1
按Ctrl+R将打开反向历史搜索。现在开始输入命令,这将给出第一个匹配项。通过再次按Ctrl+ R(一次又一次),您可以循环浏览历史记录。
mysq(Ctrl+R)
会给出:
mysqldump --add-drop-table -e -q -n -C -u
Ctrl+R再次:
mysql -u ben.dauphinee -p
答案2
为了扩展 Gilles 所说的内容,我在 my 中有以下内容.inputrc
将向上/向下箭头键绑定到history-search-backward
和history-search-forward
:
# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward
只需键入一些内容(可选),然后按向上/向下箭头键即可在历史记录中搜索以您键入的内容开头的命令。
.bashrc
要在而不是在 中执行此操作.inputrc
,您可以使用:
bind '"\e[A": history-search-backward'
答案3
您还可以PAGEUP
按按钮自动完成命令。它基本上搜索bash_history
文件。
答案4
如果您想对非常相似的命令有一个很好的概述,您可以获得一个列表:
history|grep KEYSTRING
然后用鼠标中键复制并粘贴。
Rgds-乔