历史命令包含自该终端会话以来已运行的所有其他命令的列表,然后允许您查看或重复使用这些命令,而不是重新输入它们。如果您是有经验的终端用户,您就会知道 history 命令的威力。让我们通过以下文章了解更多详情!
查看使用的命令列表
要查看历史命令的工作原理,请打开终端并输入:
$ 历史
您收到的回复应该是这样的:
1 clear 2 ls-al 3 sudo dnf update-y 4 history
历史命令包含自终端会话以来运行的所有其他命令的列表
历史命令向您显示自您开始会话以来输入的命令列表。优点是您现在可以使用以下命令重新执行任何选项:
$ !3
命令! 3 在提示符处告诉 shell 重新运行历史列表第 3 行上的命令。您还可以通过键入以下内容访问该命令:
$ !sudo dnf
这将提示历史记录查找与您提供的模式最接近的命令(在本例中,该模板为 dnf)并运行该命令。
执行使用过的命令
您还可以使用历史记录重新运行通过键入 !! 输入的最后一个命令。通过将它与 grep 配对,您可以搜索与文本样本匹配的命令,或者通过将它与 tail 一起使用,您可以找到几个最接近您已执行的命令。例如:
$ 历史 | grep dnf 3 sudo dnf 更新-y 5 历史 | grep dnf $ 历史 | tail-n 3 4 历史 5 历史 | grep dnf 6 历史 |尾-n 3
访问此搜索的另一种方法是键入 Ctrl + R 以调用对命令历史记录的递归搜索。导入后,提示将变为:
(reverse-i-search)`':
现在您可以开始输入命令了,匹配的命令将显示出来,您可以按 Return 或 Enter 来执行。
执行的命令更改
您还可以使用历史记录重新运行具有不同语法的命令。您可以使用 history 命令编辑历史记录。例如,如果要更改以前的命令历史历史记录 | grep dnf 到历史 | grep ssh ,可以在提示符下执行如下命令:
$ ^dnf^ssh^
命令再次运行,但将 dnf 替换为 ssh。换句话说,要运行的命令是:
$ 历史 | grep ssh
清除历史记录
有时您可能想要删除历史文件中的部分或全部命令。如果要删除特定命令,请输入:
history-d row_number=""
要删除历史文件的全部内容,请执行:
历史-c
历史文件也存储在一个可以修改的文件中。 Bash shell 用户在他的主目录中发现它是.bash_history。
其他一些用途
您还可以使用 history 命令执行其他一些操作:
- 将历史缓冲区的大小设置为一定数量的指令
- 记录历史中每一行的日期和时间
- 防止某些命令被记录在历史记录中
0 评论