🐧如何在Linux上的Bash历史记录中启用时间戳


您可以使用history命令轻松地找到Linux中最近执行的命令列表,对吗? 但是您怎么知道命令何时运行? 您当然可以查看日志。 但是,有一种更简单的方法。 您只需在Linux的Bash历史记录中包括时间戳,就可以更轻松地查找在Linux上执行特定命令的时间。

如何在Linux上的Bash历史记录中启用时间戳

Bash保留在终端中输入命令的历史记录。

此命令列表保存在HOME目录中的.bash_history文件中。

大多数Linux发行版默认都记住最后1000条命令。

我们可以使用命令历史记录来检索最近执行的命令,如下所示:

$ history

输出示例:

🐧如何在Linux上的Bash历史记录中启用时间戳

从上面的输出中可以看到,尽管history命令显示了先前执行的命令的列表,但未显示这些命令的执行时间。

要在Linux上的Bash历史记录中启用时间戳记,您需要设置HISTTIMEFORMAT环境变量。

此变量用于显示与历史记录中每个显示记录关联的时间戳。

运行以下命令来设置HISTTIMEFORMAT环境变量:

$ export HISTTIMEFORMAT='%F %T '

此处,%F参数用于以YYYY-MM-DD(年-月-日)格式显示日期。

%T选项用于以HH:MM:SS(小时-分钟-秒)的格式显示时间。

现在再次运行history命令,您将在每个命令之前看到一个时间戳:

🐧如何在Linux上的Bash历史记录中启用时间戳

优秀! 现在,您可以轻松地找出在Linux系统上何时执行了特定命令。

如果要显示最新的“ N”命令的时间戳,例如10,则将history命令的输出通过管道传递到tail命令,例如:

$ history | tail -10

请注意,这只会在为会话设置HISTTIMEFORMAT环境变量后为新的历史记录条目加上时间戳。

您还可以根据自己的喜好自定义日期格式,如以下命令所示:

$ export HISTTIMEFORMAT='%d/%m/%y %T '

例如,此环境变量以dd / mm / year格式显示命令历史记录中的日期和时间。 20-11-27下午7:11:55

要使HISTTIMEFORMAT环境变量在系统重新引导后仍然存在,请编辑〜/ .bashrc文件:

$ nano ~/.bashrc

将以下行添加到末尾:

export HISTTIMEFORMAT='%F %T '

要么

export HISTTIMEFORMAT='%d/%m/%y %T '

按CTRL + O保存文件,然后按CTRL + X退出。

运行以下命令以使更改立即生效:

$ source ~/.bashrc

系统将仅显示当前用户的时间戳。

要为系统上的所有用户启用Bash历史记录时间戳,请编辑/ etc / profile文件:

$ sudo nano /etc/profile

并添加到那里:

export HISTTIMEFORMAT='%F %T '

要么:

export HISTTIMEFORMAT='%d/%m/%y %T '

保存并关闭文件。

为使更改生效,请运行:

$ sudo source /etc/profile

有关更多信息,请参见手册页:

$ man bash

现在您知道了如何在Linux上的history命令的输出中显示日期和时间。

结论

如前所述,如果您曾经想查看系统上何时执行过命令,只需如上所述在bash history命令中包括时间戳记即可。

Sidebar