Linux 历史记录显示日期

Linux 历史记录显示日期

我使用以下命令将日期和时间添加到我的 Linux 历史记录中:

export HISTTIMEFORMAT='%F %T '

当我真正去查看历史记录时,我今天实际上没有做的任何事情似乎都会选择我上次查询这些命令的时间,而不是我实际使用它们的时间。

  744  2013-05-22 10:04:20 java -jar ... 
  745  2013-05-22 10:04:20 java -jar ...
  747  2013-05-22 10:04:20 java -jar ...
  748  2013-05-22 10:04:20 java -jar ...
  749  2013-05-22 10:04:20 java -jar ...
  750  2013-05-22 10:04:20 java -jar ...
  781  2013-05-22 10:04:20 java -jar ...
  996  2013-05-22 09:51:22 history | grep ...
  999  2013-05-22 09:58:18 history | grep ...
 1001  2013-05-22 10:05:22 history | grep ...
 1003  2013-05-22 10:05:39 history | grep ...

虽然我觉得这很有趣,但似乎我穿越了时间,我希望有人能解释这种行为的原因。有没有更好的命令可用?我的 bash 是不是表现得很愚蠢?

我遗漏了一些有用的信息吗?版本控制等?

我看到有人投票关闭这个问题。如果有更适合这个问题的地方,我不介意把它移走。

答案1

如果您刚刚设置了HISTTIMEFORMAT,这是可以预料到的。摘自bash手册页:

如果设置了此变量,时间戳将被写入历史文件,以便它们可以在 shell 会话中保存。

在当前 shell 中执行的命令具有正确的时间戳,因为 shell 会记住。但是,如果HISTTIMEFORMAT在之前的会话中没有设置,则根本不会记录时间戳。您可以通过查看来查看~/.bash_history:如果您没有看到类似这样的行#1369236382,则该文件不包含时间戳。

相关内容