我使用以下命令将日期和时间添加到我的 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
,则该文件不包含时间戳。