如何让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命令显示时间记录的主要内容,如果未能解决你的问题,请参考以下文章

如何让history命令显示带时间

请问linux的history指令如何显示全部的历史记录

如何让History命令的显示带时间

如何清除linux的history 命令历史记录

linux命令历史

Linux - 日志处理一