说明
默认情况下,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