如何在 Linux 中有效地使用 history 命令
许多 Linux 服务器的管理员需要花费大量时间在命令行上,因此查看 history 命令对他们来说是必不可少的。
以 BASH(Bourne Again SHell)为代表的用于与操作系统交互的默认命令行 Shell 在大多数主要的 Linux 发行版中被使用。
什么是 history 命令
history 命令被用于列出以前输入的命令和 Bash 日志。
这个日志被称为 “history” ,它能够使我们快速查看以前在系统上执行的内容。
BASH 将关闭终端会话时所运行的所有命令并写入你的历史记录文件。
~/.bash_history
当你同时运行两个会话的时候,history 命令将单独显示当前的会话记录,而不会显示其他的历史会话记录。
如何查阅历史命令
单独运行 history 命令,无需其他选项就可以查阅先前运行的命令。如果你有大量的历史记录,则无法正确地看到这些记录。在这些情况下,你必须使用诸如 less , more 等的文件视图命令。
如何查阅最后的“ n ”命令
默认情况下,history 命令显示我们执行的最后1000条命令。如果你只想列出“ n ”个命令,请使用以下命令。例如,显示最近的10个历史记录,请运行以下命令。
history n
如何运行先前执行的命令
- 使用 UP 和 DOWN 方向键来回滚动用于浏览以前输入的命令。
- 按 Enter 键执行它们或使用 Left 和 Right 键编辑命令。
重复上一个命令
重复执行你的最后一条命令,请运行以下命令。
!! - Double exclamation point
使用它的编号重复执行先前的命令
使用它的编号重复执行之前的命令。这将会很快地运行先前执行的命令,而不需要再次输入长长的命令。
搜索并运行先前执行的命令
History 命令提供了各种搜索选项,这将允许我们搜索并运行先前执行的命令。
- 运行在字符串开始处匹配的命令
- 运行匹配给定字符串的命令
为了能够执行这个操作,这里作者调取了最后30个历史日志来进一步说明。
- 如果你想运行在字符串开始处匹配的命令,请使用以下格式,它将运行以 doc 字符串开头的最新命令。
以作者的情况为例,它将运行位于756行的 docker run 命令。docker run
- 如果你想运行匹配给定字符串的命令,请使用以下格式,以作者的情况为例,它将运行以位于754行的 docker ps 命令。
docker ps
如何替换字符串并运行先前执行的命令
如果你想用新字符串重复上一个命令,只需要将 string1 替换为 string2 即可。(相当于使用以下命令)
> !!:s/string1/string2/
请使用以下格式。首先在下面的例子中,作者以及运行了 Fedora docker image,然后用 CentOS 而不是 Fedora 替换字符串。
如果你想运行先前使用的新字符串执行的任何具体命令,请使用以下任何一种命令格式。
以作者的情况为例。位于821行的 history 命令是 fedora docker 的容器。要想运行 centos 容器,只需将字母替换成 centos 。
使用 grep 命令列出匹配字符串
如果你已经在 docker 运行了很多命令,那么使用 grep 和 docker 命令可以很容易地显示匹配的命令列表。
如何在历史命令中显示日期和时间
默认情况下,history 命令只显示用户执行的命令,不显示日期和时间,但会记录运行命令的时间。
如果你想在 history 命令中输出添加日期和时间,请导航至以下的链接。
Suggested Read : How To Display Date And Time In History Command
如何使用 YUM 命令来回滚更新
Yum( Yellowdog Update Modified )是 CentOS 和 Red Hat 系统的 RPM 软件包管理工具。Yum 的 history 命令允许管理员将系统回滚到先前的状态,但由于一些限制,回滚在所有的情况下都不起作用,或者 yum 命令可能不会执行任何操作,同时也可能移除您所不期望的包。
Suggested Read : How To Use YUM History Command To Rollback An Updates
如何查看其他用户的历史记录
使用以下命令查看其他用户记录。
> # more /home/$USER/.bash_history
#如何通过 BASH History 进行搜索
我们可以通过敲击 CTRL-R 键使用关键字搜索先前执行的命令(这将会在历史记录中向后搜索并且优先显示最近的结果)。再次按 CTRL-R 查看下一个结果。
> # (reverse-i-search)'dock': docker run -ti centos /bin/bash
本文由 LinuxStory 志愿者 Sunling 翻译,更多详情请查看原文。
原文链接:https://www.2daygeek.com/how-to-use-history-command-effectively-in-linux/
本文链接:https://linuxstory.org/how-to-use-histo…ctively-in-linux/
转载请注明来自 LinuxStory ,否则必究相关责任!