如何让history命令显示日期和时间
我们都对history命令很熟悉。它将终端上bash执行过的所有命令存储到.bash_history文件中,来帮助我们复查用户之前执行过的命令。
默认情况下history命令直接显示用户执行的命令而不会输出运行命令时的日期和时间,即使history命令记录了这个时间。
运行history命令时,它会检查一个叫做HISTTIMEFORMAT的环境变量,这个环境变量指明了如何格式化输出history命令中记录的这个时间。
若该值为null或者根本没有设置,则它跟大多数系统默认显示的一样,不会显示日期和时间。
HISTTIMEFORMAT使用strftime来格式化显示时间(strftime-将日期和时间转换为字符串)。history命令输出日期和时间能够帮你更容易地追踪问题。
- %T:替换为时间(%H:%M:%S)。
- %F:等同于%Y-%m-%d(ISO8601:2000标准日期格式)。
下面是history命令默认的输出。
#history yuminstall-ymysql-servermysql-client servicemysqldstart sysdigproc.name=sshd sysdig-ctopprocs_net sysdigproc.name=sshd sysdigproc.name=sshd|more sysdigfd.name=/var/log/auth.log|more sysdigfd.name=/var/log/mysqld.log sysdig-cl sysdig-ihttplog sysdig-iproc_exec_time sysdig-itopprocs_cpu sysdig-ctopprocs_cpu sysdig-ctracers_2_statsd sysdig-ctopfiles_bytes sysdig-ctopprocs_cpu sysdig-ctopprocs_cpu"fd.namecontainssshd" sysdig-ctopprocs_cpu"proc.namecontainssshd" csysdig sysdig-ctopprocs_cpu rpm--importhttps://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public curl-s-o/etc/yum.repos.d/draios.repohttp://download.draios.com/stable/rpm/draios.repo yuminstall-yepel-release yumupdate yummakecache yum-yinstallkernel-devel-$(uname-r) yum-yinstallsysdig sysdig yuminstallhttpdmysql servicehttpdstart
根据需求,有三种不同的设置环境变量的方法。
- 临时设置当前用户的环境变量
- 永久设置当前/其他用户的环境变量
- 永久设置所有用户的环境变量
注意:不要忘了在最后那个单引号前加上空格,否则输出会很混乱的。
方法1:
运行下面命令为为当前用户临时设置HISTTIMEFORMAT变量。这会一直生效到下次重启。
#exportHISTTIMEFORMAT='%F%T'
方法2:
将HISTTIMEFORMAT变量加到.bashrc或.bash_profile文件中,让它永久生效。
#echo'HISTTIMEFORMAT="%F%T"'>>~/.bashrc
或
#echo'HISTTIMEFORMAT="%F%T"'>>~/.bash_profile
运行下面命令来让文件中的修改生效。
#source~/.bashrc
或
#source~/.bash_profile
方法3:
将HISTTIMEFORMAT变量加入/etc/profile文件中,让它对所有用户永久生效。
#echo'HISTTIMEFORMAT="%F%T"'>>/etc/profile
运行下面命令来让文件中的修改生效。
#source/etc/profile
输出结果为:
#history 2017-08-1615:30:15yuminstall-ymysql-servermysql-client 2017-08-1615:30:15servicemysqldstart 2017-08-1615:30:15sysdigproc.name=sshd 2017-08-1615:30:15sysdig-ctopprocs_net 2017-08-1615:30:15sysdigproc.name=sshd 2017-08-1615:30:15sysdigproc.name=sshd|more 2017-08-1615:30:15sysdigfd.name=/var/log/auth.log|more 2017-08-1615:30:15sysdigfd.name=/var/log/mysqld.log 2017-08-1615:30:15sysdig-cl 2017-08-1615:30:15sysdig-ihttplog 2017-08-1615:30:15sysdig-iproc_exec_time 2017-08-1615:30:15sysdig-itopprocs_cpu 2017-08-1615:30:15sysdig-ctopprocs_cpu 2017-08-1615:30:15sysdig-ctracers_2_statsd 2017-08-1615:30:15sysdig-ctopfiles_bytes 2017-08-1615:30:15sysdig-ctopprocs_cpu 2017-08-1615:30:15sysdig-ctopprocs_cpu"fd.namecontainssshd" 2017-08-1615:30:15sysdig-ctopprocs_cpu"proc.namecontainssshd" 2017-08-1615:30:15csysdig 2017-08-1615:30:15sysdig-ctopprocs_cpu 2017-08-1615:30:15rpm--importhttps://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public 2017-08-1615:30:15curl-s-o/etc/yum.repos.d/draios.repohttp://download.draios.com/stable/rpm/draios.repo 2017-08-1615:30:15yuminstall-yepel-release 2017-08-1615:30:15yumupdate 2017-08-1615:30:15yummakecache 2017-08-1615:30:15yum-yinstallkernel-devel-$(uname-r) 2017-08-1615:30:15yum-yinstallsysdig 2017-08-1615:30:15sysdig 2017-08-1615:30:15yuminstallhttpdmysql 2017-08-1615:30:15servicehttpdstart
总结
以上所述是小编给大家介绍的让history命令显示日期和时间的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!