2016-07-22 99 views
6

我想在我的Linux系统上检查哪个命令被触发 - 在哪个日期和时间。带有日期和时间的Linux命令历史记录

我发射命令是这样的:

history 50 

它显示我在过去的50个命令历史,但不注日期,并在它被解雇的时间。有没有人知道如何去做?

+5

http://askubuntu.com/questions/391082/how-to-see-time-邮票中的历史 – gavv

+3

http://superuser.com/questions/397527/retrieve-linux-command-line-history-by-date – gavv

+2

甚至在这里:http://stackoverflow.com/questions/11987761/如何发现日期明智的历史的Linux命令被释放 – gavv

回答

7

regarding this link另一条出路的fisrt solution provided by krzyk

echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile 
source ~/.bash_profile 

,这是永久的方式。

+0

方的回答有暂时的解决办法。 –

+0

它显示所有先前执行的命令的当前日期和时间,这是错误的,有没有什么办法可以在执行前面的命令时获得正确的日期和时间? – 2017-08-17 18:14:30

+0

我猜想,并不是因为文件bash历史只是一个没有任何数据的文本。 –

5

试试这个:

> HISTTIMEFORMAT="%d/%m/%y %T " 

> history 

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

+0

这并不显示命令发射的日期和时间。让我们说昨天的命令被解雇了,但如果我按照你的建议写,它会显示今天的日期。我不想要的。 – Rushvi

+1

@ RJ07:这对过去执行的命令不起作用,因为没有为它们保存时间戳。但是,如果将此添加到您的bash.src中,时间戳将被保存用于所有未来的bash输入。 – Fang

+0

好的谢谢你的回复。 – Rushvi

2

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

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

+0

因此,如果没有时间和时间存储,那么现在没有办法获得时间? – Rushvi

+1

的确如此,如果它没有存储在任何你无法获取的地方。 –

+0

ohk。感谢您的回复 – Rushvi

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

对于在此之前输入的任何指令,它不会帮助,因为他们只会得到,当你开启历史的默认时间,但它会记录在此之后的任何进一步的命令的时间。

如果你想让它记录历史永久的,你应该把以下 线在~/.bashrc

export HISTTIMEFORMAT="%d/%m/%y %H:%M " 
相关问题