Answers:
默认情况下,History
记录运行命令时的时间,但不显示它。这样做的原因是当您运行History
命令时,它会寻找一个名为的环境变量HISTTIMEFORMAT
,该变量告诉它如何格式化时间。如果null
未设置该值,则默认情况下它不会显示任何时间。
一个有一段时间的例子
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
1 2012-03-06 su -
2 2012-03-06 jbach@mobiletribe.net
3 2012-03-06 mysql
4 2012-03-06 ll
5 2012-03-06 cd /opt/
6 2012-03-06 ll
7 2012-03-06 exit
8 2012-03-06 ll
9 2012-03-06 ls -lsa
10 2012-03-06 cd ../
11 2012-03-06 ll
12 2012-03-06 ll
....
但这还不是全部。由于HISTTIMEFORMAT
采用strftime
值(可以在这里找到),因此您可以进行各种神奇的事情。但是对于您想做的事情,以下工作。
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
1006 2012-03-06 14:48:05 export HISTTIMEFORMAT='%F %T %t'
1007 2012-03-06 14:48:07 history
...
另外,如果您希望HISTTIMEFORMAT保持不变,请考虑按自己的意愿将其附加bashrc
;
echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc
当您在终端中打开一个新选项卡或注销然后登录时,您将看到更改。