如何让linux的history命令显示时间记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让linux的history命令显示时间记录相关的知识,希望对你有一定的参考价值。
history 显示的是你的操作命令记录,当时没有记录时间,所以显示的时候也没有。
换句话也的要求,只通过history命令无法实现。 参考技术A history命令本身是无法记录历史命令的执行时间的,它只是把历史命令依序记录。如果想让history命令记录命令执行时间,可以通过~/.bash_logout来进行历史命令的记录,通过date命令和数据流重定向来增加记录时间,方法如下:
用Vim编辑器打开~/.bash_logout(vim ~/.bash_logout),然后加入如下内容:
date >> ~/.MyselfHistory
history 20 >> ~/.MyselfHistory
说明:~/.bash_logout这个文件记录的是当注销bash后需要进行的操作,默认这个文件中只有一条clear命令,所以也可以自己加入一些内容,自己加入的内容在clear命令之前。本回答被提问者采纳
linux--history命令
|--linux--history命令
用于显示历史记录和执行过的指令命令
history命令:是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。
在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE进行控制。
默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。
在家目录的.bash_history文件记录用户所使用的命令和历史信息
语法:
history(选项)(参数)
选项:
-N: 显示历史记录中最近的N个记录;
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中;
-d<offset>:删除历史记录中第offset个命令
-n<filename>:读取指定文件
参数:
n:打印最近的n条历史命令。
|--使用!执行指定序号的历史命令。
!number 执行第几条命令
!command 从最近的命令查到以command开头的命令执行
!! 执行上一条
|--定制history功能
语法格式:NAME=‘VALUE‘
HISTSIZE:history记录的行数
HISTFILE:history记录文件目录
HISTFILESIZE:history记录文件目录行数
变量写入/etc/profile或/etc/profile.d下的文件中
或者写入到家目录的.proflie文件中
eg:
查看history记录的行数
echo $HISTSIZE
修改history记录的配置
HISTSIZE=1000
export HISTSIZE
或者
export HISTSIZE=1000
显示执行历史记录时间
1、默认情况下,history并不记录命令的执行时间,分析起来很困难。
我们可以使用HISTTIMEFORMAT在历史中显示TIMESTAMP(时间戳)。
2、把上面的 export HISTTIMEFORMAT="%F %T " 命令加入到~/.bashrc中
即可在登录后自动开启history时间戳。添加完成后,
执行source .bashrc 让其生效。仅针对当前账号有效。
3、其实HISTTIMEFORMAT的格式就是 strftime函数的格式,比如上面的"%F %T ",
%F表示显示出Y-M-D格式的日期,%T表示显示出H-M-S这样格式的时间。
eg:
编辑/etc/profile或在/etc/profile.d下新建*.sh文件。
vim /etc/profile.d/shit.sh输入下面两行
HISTTIMEFORMAT="%Y%m%d-%H%M%S "
或者 HISTTIMEFORMAT="%Y%m%d %T "
或者 HISTTIMEFORMAT="%F %T "
export HISTTIMEFORMAT
或者一行搞定
export HISTTIMEFORMAT="%y-%m-%d %H:%M:%S "
以上是关于如何让linux的history命令显示时间记录的主要内容,如果未能解决你的问题,请参考以下文章