小智 121
如果您只想搜索您的历史记录,您可以使用history | grep ssh, 用 ssh 替换您想要搜索的任何内容。
dou*_*oug 18
我对上面做了一些细微的变化,对我来说效果很好(如果你指的是你的 bash 历史
在我的主文件夹中,我创建了一个名为
.inputrc
Run Code Online (Sandbox Code Playgroud)
里面是这个
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Run Code Online (Sandbox Code Playgroud)
注意:上面的内容在 14.04 中似乎不再起作用,所以它做同样的事情 -
"\e[A":history-search-backward
"\e[B":history-search-forward
Run Code Online (Sandbox Code Playgroud)
然后输入我希望的许多以前的命令并使用 page up/page dn 按钮搜索历史记录,总是从 page up 开始
Dis*_*oat 11
这是使用经典命令的另一种方法(更可能跨发行版工作)。命令历史记录存储在.bash_history您的主目录中的文件中,因此您可以执行以下操作:
grep "ssh" ~/.bash_history
Run Code Online (Sandbox Code Playgroud)
-i如果您需要不区分大小写的搜索,请不要忘记标志。
我在网上找到了以下功能,并使用它效果很好。把这个放在你的~/.bashrc:
hgrep () {
history | egrep --color=auto --recursive "$@" | egrep --color=auto --recursive -v "hgrep $@"
}
Run Code Online (Sandbox Code Playgroud)
现在重新加载您的 shell:exec bash。您现在有了一个新命令,可以像这样使用它:
hgrep ssh
Run Code Online (Sandbox Code Playgroud)
它将向您显示历史记录中匹配命令的列表。要运行命令,请键入!后跟命令编号。这是一个例子:
~:$ hgrep scp
207 tn scp foreign-teachers __HOST__:unity.log __HOST__:compiz.log .
421 tn scp scott-laptop __HOST__:Scott\ Severance.asc .
422 tn scp scott-laptop __HOST__:'Scott\ Severance.asc' .
468 tn scott-desktop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
469 tn scott-laptop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
470 scp -r Backgrounds/* 192.168.1.2:Pictures/Backgrounds
~:$ !207
Run Code Online (Sandbox Code Playgroud)
与Ctrl+相比,我更喜欢这种方法R,因为它允许更灵活的搜索,并且我可以一次看到多个结果。