linux--history命令

Posted xuzhaoping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux history 命令相关使用以及配置

如何查看linux上的历史执行命令

Linux学习总结(75)—— Linux history 命令实用技巧

Linux学习总结(75)—— Linux history 命令实用技巧

linux history历史记录命令详解

Linux history命令详解