• Linux之history使用技巧


    背景:

    正常情况下,Linux系统中输入 history  只显示序号和历史命令如下图,但是当我们想要根据历史命令来排查一些故障问题时,无法精确获取该命令执行的详细信息,包括执行时间、执行的用户、是哪个终端上执行的,想要获取详细的历史记录信息,需要手动配置一下,下面我将逐个介绍:

     

    1. 在 /etc/bashrc 配置history 的变量

    [root@192 ~]# vim /etc/bashrc
     export HISTTIMEFORMAT="%Y-%m-%d:"
    [root@192 ~]# source /etc/bashrc
    [root@192 ~]# history
        1  2022-02-27:cd /
        2  2022-02-27:vim /influxdb
        3  2022-02-27:mkdir /oinfluxdb
        4  2022-02-27:ls
        5  2022-02-27:cd /oinfluxdb
        6  2022-02-27:ls
        7  2022-02-27:ll
        8  2022-02-27:vim influxdb.sh
        9  2022-02-27:/bin/bash influxdb.sh
       10  2022-02-27:systemctl status influxdb  

    或者:

    [root@192 ~]# vim /etc/bashrc
     export HISTTIMEFORMAT="%F %T:"
    [root@192 ~]# source /etc/bashrc
    [root@192 ~]# history
        1  2022-02-27 13:26:38:cd /
        2  2022-02-27 13:26:38:vim /influxdb
        3  2022-02-27 13:26:38:mkdir /oinfluxdb
        4  2022-02-27 13:26:38:ls
        5  2022-02-27 13:26:38:cd /oinfluxdb
        6  2022-02-27 13:26:38:ls
        7  2022-02-27 13:26:38:ll
        8  2022-02-27 13:26:38:vim influxdb.sh
        9  2022-02-27 13:26:38:/bin/bash influxdb.sh
       10  2022-02-27 13:26:38:systemctl status influxdb  

    或者:

    [root@192 ~]# vim /etc/bashrc
     export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami` "
    [root@192 ~]# source /etc/bashrc
    [root@192 ~]# history
        1  2022-02-27 13:26:38 root cd /
        2  2022-02-27 13:26:38 root vim /influxdb
        3  2022-02-27 13:26:38 root mkdir /oinfluxdb
        4  2022-02-27 13:26:38 root ls
        5  2022-02-27 13:26:38 root cd /oinfluxdb
        6  2022-02-27 13:26:38 root ls
        7  2022-02-27 13:26:38 root ll
        8  2022-02-27 13:26:38 root vim influxdb.sh
        9  2022-02-27 13:26:38 root /bin/bash influxdb.sh
       10  2022-02-27 13:26:38 root systemctl status influxdb

    2.history 设置历史命令记录数

    [root@192 ~]# vim /etc/bashrc
     export HISTSIZE=1000
    [root@192 ~]# source /etc/profile

    3.指定不同终端执行的命令都存储在同一个文件中

    [root@192 ~]#vim /etc/bashrc
     export HISTFILE=/var/log/.cmd_log
    [root@192 ~]# source /etc/bashrc

    4.忽略重复命令

    [root@192 ~]# vim /etc/bashrc
     export HISTCONTROL=ignoredups 
    [root@192 ~]#  source /etc/bashrc 

    5.多个终端同时操作时,避免命令覆盖,采用追加方式

    [root@192 ~]# shopt -s histappend

    关于history的小技巧

    • !number 执行第几条命令
    • !command 从最近的命令查到以command开头的命令执行
    • !! 执行上一条
    • history -c 清空改用户使用的历史命令记录

     

  • 相关阅读:
    Redis 7.x 入门和开发实战
    java-net-php-python-jspm二手电脑配件拍卖系统计算机毕业设计程序
    mac 环境搭建jmeter
    杭电oj 2034 人见人爱A-B C语言
    cookie,storage,sesstion区别
    如何使用git-credentials来管理git账号
    冒泡排序bubble_sort
    [Python进阶] Pyinstaller打包模式
    IT运维自动化最佳实践:多系统自动化连接
    嵌入式开发:清理可重用软件的API
  • 原文地址:https://www.cnblogs.com/zyf98/p/15942215.html