Linux下history命令输出获取执行时间

说明

默认情况下,Bash在命令行上执行的所有命令都存储在历史缓冲区中,或记录在名为~/.bash_history的文件中。这意味着系统管理员可以查看用户在系统上执行的命令列表,或者用户可以使用类似的历史记录命令查看其命令历史记录。

按照以下步骤执行历史命令history输出中的执行日期。history命令的默认输出如下所示,没有日期和时间详细信息,这是大多数Linux发行版的默认设置。

 1001  cat /etc/redhat-release 
 1002  uname -a
 1003  history

在本文中,我们将解释如何配置在执行Bash历史记录中的每个命令时显示的时间戳信息。

有两种设置的方法:一种是临时生效的,另一种是永久生效。

临时生效

要临时设置HISTTIMEFORMAT变量,请在命令行上按如下方式导出它:

$ export HISTTIMEFORMAT='%F %T  '

在上面的export命令中,时间戳格式:

  • %F – expands to full date same, as %Y-%m-%d (year-month-date).
  • %T – expands to time; same as %H:%M:%S (hour:minute:seconds).

有关其他用法信息,请阅读date命令手册页:

$ man date

永久生效

但是,如果要永久配置此变量,请编辑环境变量文件/etc/bashrc,并添加以下条目,确保在%T之后有空格。

$ vim /etc/bashrc
export HISTTIMEFORMAT='%F %T  '

重新登录系统。

$ su - [username]

检查环境变量。

$ echo $HISTTIMEFORMAT

输入history命令并检查是否显示时间。

$ history
  991  2022-08-01 20:11:58  cat /etc/redhat-release 
  992  2022-08-01 20:11:58  uname -a
  993  2022-08-01 20:11:58  history
原文链接:,转发请注明来源!