带有日期和时间的Linux命令历史记录

时间:2016-07-22 12:35:21

标签: linux history

我想检查我的linux系统何时触发了哪个命令 - 在哪个日期和时间。

我解雇了这样的命令:

history 50 

它显示了最后50个命令的历史记录,但没有显示它被触发的日期和时间。有谁知道怎么做?

5 个答案:

答案 0 :(得分:17)

Regarding this link您可以通过执行以下内容使first solution provided by krzyk永久保留:

getAll

答案 1 :(得分:7)

试试这个:

{{1}}

当然,您可以根据自己的喜好调整格式。

答案 2 :(得分:4)

如果您使用的是zsh,则可以使用-E-i开关:

history -E

如果您执行man zshoptionsman zshbuiltins,则可以找到有关这些开关的更多信息以及与历史记录有关的其他信息:

Also when listing,
 -d     prints timestamps for each event
 -f     prints full time-date stamps in the US `MM/DD/YY hh:mm' format
 -E     prints full time-date stamps in the European `dd.mm.yyyy hh:mm' format
 -i     prints full time-date stamps in ISO8601 `yyyy-mm-dd hh:mm' format
 -t fmt prints time and date stamps in the given format; fmt is formatted with the strftime function with the zsh extensions  described  for  the  %D{string} prompt format in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1).  The resulting formatted string must be no more than 256 characters or will not be printed
 -D     prints elapsed times; may be combined with one of the options above

答案 3 :(得分:2)

它取决于标准bash中的shell(及其配置),只存储没有日期和时间的命令(如果有任何时间戳,请检查.bash_history。)

要让bash存储在执行命令之前设置HISTTIMEFORMAT 所需的时间戳,例如在.bashrc.bash_profile中。这将导致bash将时间戳存储在.bash_history中(请参阅以#开头的条目。)

答案 4 :(得分:1)

HISTTIMEFORMAT="%d/%m/%y %H:%M "

对于之前输入的任何命令,它都没有帮助,因为它们只会获得启用历史记录时的默认时间,但它会在此之后记录任何其他命令的时间。

如果您希望将历史记录记录为永久历史记录,则应填写以下内容 ~/.bashrc

中的一行
export HISTTIMEFORMAT="%d/%m/%y %H:%M "