4.2. 命令行历史

使用命令行历史

使用向上和向下键滚动浏览之前输入的命令。按 [Enter] 键执行它们,或先使用向左和向右箭头键编辑命令。另请参阅 history 命令(如下所述)。

history 命令

history 命令可用于列出 Bash 中您已键入命令的日志

此日志称为“history”。要访问它,请输入

history n

这将仅列出最后 n 个命令。输入 “history”(不带选项)以查看完整的历史列表。

您还可以输入 !n 来执行第 n 个命令。使用 !! 执行您键入的最后一个命令。

!-n 将执行之前第 n 个命令(换句话说,!-1 等同于 !!)。

!string 将执行以上次输入的以 “string” 开头的命令,而 !?string? 将执行包含单词 “string” 的上次命令。例如

!cd

将重新运行您上次输入的以 “cd” 开头的命令。

“ commandName !*” 将使用您上次命令中使用的任何参数执行 “commandName”。如果您犯了拼写错误,这可能很有用。例如,如果您输入了

emasc /home/fred/mywork.java /tmp/testme.java

尝试对以上两个文件执行 emacs 操作显然会失败。所以您可以输入

emacs !*

这将使用您上次在命令行中输入的参数执行 emacs。换句话说,这等同于输入

emacs /home/fred/mywork.java /tmp/testme.java
在命令历史中搜索 ( CTRL-R )

使用 CTRL-R 键执行“反向 i 搜索”。例如,如果您想使用上次使用 snort 时使用的命令,您可以输入

CTRL-R 然后输入 “snort”。

您将在控制台窗口中看到的是

(reverse-i-search)`':

在您输入要查找的内容后,使用 CTRL-R 组合键向后滚动浏览历史记录。

重复使用 CTRL-R 以查找您输入的字符串的每个引用。找到要查找的命令后,使用 [Enter] 执行它。

或者,使用向右或向左箭头键会将命令放在实际的命令行上,以便您可以编辑它。