我认为一个例子很好理解我的问题。
...
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
命令(即以'tests'结尾的行) 。
但我想找到以'important'结尾的scp命令。那么这个reverse-i-search
中是否有任何方法可以查看以scp开头的所有命令,以选择合适的命令?
答案 0 :(得分:98)
继续按 Ctrl - R ,它将遍历您的历史记录。
答案 1 :(得分:16)
如果您的搜索字词更复杂/不连续,则另一个选项是在history
结果中进行grep,例如:
history 300 | grep scp | grep important$
这将返回历史记录中匹配的命令列表,例如:
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 才能返回到确切的命令。
答案 2 :(得分:2)
Ctrl + R
有很好的替代方案安装https://github.com/dvorka/hstr
使用class Settings {
get domain() { return 'haslfjdasdf' }
}
const set = new Settings();
console.log(set.domain);
它显示了所有最后执行的命令的列表(./bash_history的内容)
如果您开始输入,列表将根据您输入的内容进行过滤
您可以使用向上 / 向下箭头选择所需的命令,然后使用 Enter
选择它答案 3 :(得分:0)
我发现这个很棒的工具 mcfly 可以代替传统的Ctrl + R,并且效果很好。基本上,您可以在键入时看到所有结果,还可以选择要查找的命令。您还可以自定义布局等。我真的推荐它。