您可以使用以下命令轻松找到 Linux 中最近执行的命令列表 history
命令,对吗? 是的。 但是你怎么知道命令执行的时间呢? 当然,您可以在日志文件中搜索。 但是,还有一种更简单的方法。 您可以简单地在 Linux 中的 Bash 历史记录中启用时间戳,因此更容易找到特定命令在 Linux 中的执行时间。
在 Linux 中的 Bash 历史记录中启用时间戳
重击 维护已在终端中输入的命令的历史记录。 这个命令列表保存在一个名为 .bash_history
在我们的 HOME 目录中。 大多数 Linux 发行版都记得最后一个 1000 默认命令。 我们可以使用检索最近执行的命令 history
命令 ash 如下所示:
$ history
示例输出:
正如您在上面的输出中看到的,即使 history 命令显示了以前执行的命令的列表,它也没有显示这些命令何时被执行。
要在 Linux 中启用 Bash 历史记录中的时间戳,您需要设置 HISTTIMEFORMAT
环境变量。 此变量用于打印与每个显示的历史条目关联的时间戳。
运行以下命令设置 HISTTIMEFORMAT
环境变量:
$ HISTTIMEFORMAT='%F %T '
在这里, %F
选项用于显示日期 YYYY-MM-D
D(年-月-日)格式。 而 %T
选项用于以格式显示时间 HH:MM:SS
(时-分-秒)格式。
现在,运行 history
再次命令,您将在每个命令之前看到时间戳:
完美的! 现在,您可以轻松找到 Linux 系统中执行特定命令的时间。
例如,如果要显示最后“N”个命令的时间戳 10
, 管道 history
命令输出到 tail
命令如下:
$ history | tail -10
请注意,这只会设置新的时间戳 history
之后的条目 HISTTIMEFORMAT
为会话设置了环境变量。
您还可以根据自己的喜好使用自定义日期格式,如以下命令所示:
$ HISTTIMEFORMAT='%d/%m/%y %T '
此环境变量显示历史命令中的日期和时间 日/毫米/年 格式例如 27/11/20 19:11:55
.
为了使 HISTTIMEFORMAT
env 变量在系统重新启动后保持不变,编辑 ~/.bashrc
文件:
$ nano ~/.bashrc
在最后添加以下行:
HISTTIMEFORMAT='%F %T '
或者,
HISTTIMEFORMAT='%d/%m/%y %T '
按 CTRL+O
保存文件并按 CTRL+X
退出。
运行以下命令使更改立即生效:
$ source ~/.bashrc
这只会显示当前用户的时间戳。 要为所有系统用户启用 Bash 历史时间戳,请编辑 /etc/profile
文件:
$ sudo nano /etc/profile
并添加这一行:
HISTTIMEFORMAT='%F %T '
或者,
HISTTIMEFORMAT='%d/%m/%y %T '
Save 和 close 文件。 要使更改生效,请运行:
$ sudo source /etc/profile
有关更多详细信息,请参阅手册页:
$ man bash
您现在知道在 Linux 的历史命令输出中显示日期和时间。 如前所述,如果您想检查命令何时执行,只需在 bash 历史命令如上所述。
你正在用吗 鱼 或者 零星 壳? 查看以下教程以了解如何在 history
命令:
- 在鱼壳中为历史命令启用时间戳
- 在 Linux 中的 Zsh 中为历史命令启用时间戳
希望这可以帮助。
相关阅读:
- 如何在 Linux 中清除命令行历史记录
- 如何在没有行号的情况下显示 Bash 历史记录
- 如何避免 Linux 中 Bash 历史记录中的重复条目
- 在 Linux 中查找命令或进程的执行时间
BASHBash 历史Bash 提示历史命令LinuxLinux 基础Linux 提示时间戳