网站搜索

为您在 Bash 历史记录中执行的每个命令设置日期和时间


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

history

从上面的历史命令的输出来看,没有显示执行命令时的日期时间。这是大多数(如果不是全部)Linux 发行版上的默认设置。

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

与每个历史条目关联的日期时间可以写入历史文件,通过设置HISTTIMEFORMAT变量用历史注释字符进行标记。

有两种可能的方法可以做到这一点:一种是暂时的,另一种是永久的。

要临时设置 HISTTIMEFORMAT 变量,请在命令行中将其导出,如下所示:

export HISTTIMEFORMAT='%F %T'

上面的导出命令中,时间戳格式:

  1. %F – 扩展为完整日期,与 %Y-%m-%d(年-月-日)相同。
  2. %T – 扩展为时间;与%H:%M:%S(小时:分钟:秒)相同。

通读 date 命令手册页以获取其他使用信息:

man date

然后检查您的命令历史记录,如下所示:

history 

但是,如果您想永久配置此变量,请使用您喜欢的编辑器打开文件 ~/.bashrc

vi ~/.bashrc

并在其中添加以下行(您可以用注释将其标记为您自己的配置):

#my config
export HISTTIMEFORMAT='%F %T'

保存文件并退出,然后运行以下命令以使对文件所做的更改生效:

source ~/.bashrc

就这样!请通过下面的评论部分与我们分享任何有趣的历史命令提示和技巧,或者您对本指南的想法。