在反向search(Ctrl + R)中,任何方法都可以在历史中的类似命令之间切换
我认为一个例子会很好的理解我的问题。
... scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important ... ... scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important/tested ... ...
假设这是历史命令的顺序。 如果我正在做Ctrl + R并键入scp
,它将显示最后执行的scp
命令(即以'tested'结尾的行)。
但是我想find以'important'结尾的scp命令。 那么在这个reverse-i-search
有没有办法查看所有以scp开头的命令,select合适的命令呢?
继续按Ctrl – R ,它会遍历你的历史。
如果您的search条件更复杂/不连续,另一个选项是grep history
结果之间,例如:
history 300 | grep scp | grep important$
这将返回匹配历史logging中的命令列表,例如:
3323 scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important 3325 scp file1 user10@192.168.10.1:/home/user1/winfiles/samplecode/important
然后你可以用!3325
执行相关命令。
我有时会发现在运行很多类似的命令时很有用,而且可能需要多次按Ctrl + R才能返回到确切的命令。
有很好的selectCtrl + R
安装https://github.com/dvorka/hstr
用它来运行它
它显示了所有最后执行的命令(./bash_history的内容)
如果您开始input,则会根据您input的内容来过滤列表
您可以使用向上 / 向下箭头来select所需的命令并使用回车select它