在某些终端,您可以执行类似这样的操作......
输入一些命令
nmap -sn 192.168.1.1/24
然后继续在终端上做一会儿其他事情。然后你可以输入
nmap
然后只需按下该↑键,它就会索引以您输入的内容开头的所有命令,nmap
例如在这种情况下。
我的例子很短,但有时你会输入一个很长的命令,想要再次运行,我知道你可以按↑直到再次找到它,但这会通过每一个命令,如果你很久以前输入该命令,则可能需要一段时间。
有没有什么办法可以让它于 Ubuntu 终端上运行?
答案1
是的,有一种非常简单的方法可以搜索命令历史记录。在终端上,按Ctrl-R开始搜索,然后您可以输入nmap
,它将使用 nmap 搜索到最后一个命令。
如果您不想要包含“nmap”单词的最后一条命令,而是想要更早的一些命令,那么您可以根据需要多次按Ctrl“- ”。R
答案2
我总是使用history
它,因为它可以更方便地查看我输入的所有命令,例如:
history
列出你一段时间内输入的所有命令
history | grep nmap
仅列出具有以下功能的命令nmap
history | grep nmap | tail -10
history | grep nmap | head -10
列出最后和前 10 条命令nmap
然后再次复制并粘贴即可。
答案3
我更喜欢使用的方法是通过重新映射Up和Down键到 Bash 的历史记录搜索中。这可以通过将以下内容添加到来实现.inputrc
:
"\e[A": history-search-backward
"\e[B": history-search-forward
重新加载 shell 后,在空提示符下按下Up或将浏览所有命令,而在键入 eg 后按下或将浏览以您键入的内容开头的所有命令。DownUpDownnmap
答案4
如果您在 bash 中处于 vi 模式 ( set -o vi
),您可以进入命令模式(按Esc),然后/whatever_you_want
输入Enter.
它会搜索您想要的任何内容,您可以使用j
和k
键滚动。找到正确的命令后按回车键。
为了在按下 Esc 键后能够输入命令,您必须按下i
(这是 vi)。
返回“正常” shell 模式是通过 完成的set -o emacs
。