如何让history显示时间

摘要:
linux和unix上都提供了history命令,可以查询以前执行的命令历史记录但是,这个记录并不包含时间项目因此只能看到命令,但是不知道什么时间执行的如何让history记录时间呢?如果是已经运行了很久的服务器才添加这个参数,则以前的那些命令历史记录是不显示时间的。

linux和unix上都提供了history命令,可以查询以前执行的命令历史记录
但是,这个记录并不包含时间项目
因此只能看到命令,但是不知道什么时间执行的
如何让history记录时间呢?
解决方案
注意:本方法只对bash-3.0以上版本有效
执行rpm -q bash即可显示bash的版本
对于常见的linux AS4、AS5,都是有效的
---------------------------------------------

编辑/etc/bashrc文件,加入如下三行:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M%S: "  或者HISTTIMEFORMAT="%Y%m%d %T "
export HISTTIMEFORMAT

或者一句话:
echo "HISTFILESIZE=2000" >> /etc/bashrc && echo "HISTSIZE=2000" >> /etc/bashrc && echo 'HISTTIMEFORMAT="%Y%m%d %T "'>> /etc/bashrc && export HISTTIMEFORMAT

保存后退出,关闭当前shell,并重新登录
这个时候,在~/.bash_history文件中,就有记录命令执行的时间了
用cat命令显示这个文件,但是却会看到这个时间不是年月日显示的
而是按照unix time来显示:
[root@vz ~]# cat ~/.bash_history
#1184649982
touch 3
#1184649984
exit
#1184650148
history
[root@vz ~]#
这个时间叫做unix time,是从1970年1月1日临时起,到现在一共经过了多少秒
因为1969年是unix系统诞生,因此1970年1月1日被规定为unix系统诞生的时间的初始
linux系统因为和unix系统的相似性,也完全采用这种方式来记录时间
为了按照人类的年月日方式来显示时间,执行history命令来查看,就可以了,例如:
[root@vz ~]# history | more
1 20070717-132935: ll
2 20070717-132935: w
3 20070717-132935: rm -rf *
4 20070717-132935: ll
5 20070717-132935: w
6 20070717-132935: cat /etc/redhat-release
7 20070717-132935: rpm -ivh expect-5.42.1-1.i386.rpm
8 20070717-132935: ll
9 20070717-132935: vi /etc/sysconfig/i18n
10 20070717-132935: ll
11 20070717-132935: rpm -q expect
[root@vz ~]#
这样即可查看到在什么时间执行了什么命令。
注意:本方法必须在服务器刚刚新安装好时候,就设置这个参数。
如果是已经运行了很久的服务器才添加这个参数,则以前的那些命令历史记录是不显示时间的。

免责声明:文章转载自《如何让history显示时间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MySql生成随机数Python 修改微信步数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

uniapp历史模式history配置

//我们使用hash模式时,打包线上,容易出现页面空白的情况,所以如下配置 "h5" : { "devServer" : { "publicPath":"./" "https" : false, "port" : 3000, "disableHostCheck" :...

CentOS7上使用history删除部分历史记录

使用history命令删除本次登录后做过的历史记录,但是保留原始的记录。首先使用help history,命令查看帮助文档: [root@10 ~]# help history history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...] 显示或操纵历史列...

命令别名与历史命令

1.命令别名设置:alias,unalias     命令别名可以帮助你在一些惯用命令特别长的时候,进行简化,帮助你减少命令误差   例: *例出当前已有的命令别名 [root@server3 ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --c...

linux系统history记录不全的原因

参考: https://blog.csdn.net/imliuqun123/article/details/82978379 基本认识 linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的。 问题场景 那么问题来了,假若之前his...

Linux的删除history的方法

Linux的删除history的方法 history --help 查看历史的命令 history 查看最后15行 history | tail -n 15 重新执行第number条命令 !numeber 其余的我不想介绍。我只介绍如何删除history记录 删除当前会话的历史记录 history -c 这种删除只会删除当前会话的历史记录,下次用xshe...

查看 Linux 操作的历史命令

1、history命令用于显示历史执行过的命令 执行 history命令能显示出当前用户在本地计算机中执行过的最近 1000 条命令记录。 如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的HISTSIZE 变量值。 在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。 history 命令:...