如何查看使用历史记录执行命令的时间戳?

Jon*_*Day 11 bash history timestamp

我想检查 bash 历史记录中的命令是在什么时间/日期执行的。这可能吗?

Sii*_*m K 16

有可能的。该help history命令说:

如果 $HISTTIMEFORMAT 变量已设置且不为空,则其值将用作 strftime(3) 的格式字符串以打印与每个显示的历史条目关联的时间戳。否则不打印时间戳

我像这样为我的用户设置了变量(在 Ubuntu 上):

echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

如果你想要它全局,然后将行添加到/etc/bash.bashrc

echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)

查看man strftime所有可能的格式选项


history我的盒子上的输出:

  ...
  132  05.05.11 10:45:11 ls
  133  05.05.11 10:45:14 cd ..
  134  05.05.11 10:45:17 history
Run Code Online (Sandbox Code Playgroud)

PS 当您第一次设置变量时,整个历史将获得设置变量那一刻的时间戳。