背景:

正常情况下,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开头的命令执行
  • !! 执行上一条

Linux之history使用技巧的更多相关文章

  1. Linux查看History记录加时间戳小技巧

    Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如[root@servyou_web ~]# history | more ...

  2. linux 常用命令及技巧

    linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...

  3. Linux下history命令用法

    如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT ...

  4. linux下history命令显示历史指令记录的使用方法

    Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...

  5. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  6. Linux下history命令详解---转载

    Linux下History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 . >History命令语法:[www.linuxidc.com@linux]# history [n][ww ...

  7. [转]Linux Shell History (快速使用Linux命令)

    http://www.blogjava.net/lihao336/archive/2010/10/11/334367.html Linux Shell History (快速使用Linux命令) Li ...

  8. linux 修改history带有时间

    今天在网上学到了给linux的history添加时间.方法如下: 首先已知HISTTIMEFORMAT可以给history设置时间:临时修改直接赋值:HISTTIMEFORMAT="%F % ...

  9. [转帖]linux 清空history以及记录原理

    linux 清空history以及记录原理 自己的linux 里面总是一堆 乱七八槽输错的命令 用这个办法 可以清空 linux的内容. 清爽一些. 1.当前session执行的命令,放置缓存中,执行 ...

随机推荐

  1. Linux下Julia安装

    1.找到官网,执行 wget https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.0-linux-x86_64.tar.gz ...

  2. TextBox,RichTextBox设置行高

    /// <summary> /// 设置行距 /// </summary> /// <param name="ctl">控件</param ...

  3. CentOS 7安装Odoo 15社区版的详细操作指南

    我之前的文章介绍过在Windows环境下安装Odoo 15,如果您需要在Windows部署,具体可参考我文末的微信号<10分钟教你本机电脑安装Odoo 15,并启用一个内置的项目APP应用> ...

  4. WSL与gnome-desktop

    WSL与gome-desktop 经过测试和检索 确定WSL1无法在gome-desktop实现GUI桌面 只能实现其中应用的现实,比如打开记事本在Xserver https://www.reddit ...

  5. HTML 页面的动态线条背景-三岁

    保存一个自己正在用的背景 会跟随鼠标变换的动态线条 以免后面还得找 挺好看的 效果图: 代码如下: <script type="text/javascript" color= ...

  6. Windows如何搭建SSL通信(非Web)

    自己研究了会儿,把结论发出来给有需要的人 第一步:准备环境 首先需要一台服务器(这不是废话吗),我这边用的windows2003, 还需要一台客户端,我用的是windwos2008 第二步:服务器环境 ...

  7. Flutter 多引擎支持 PlatformView 以及线程合并解决方案

    作者:字节移动技术-李皓骅 摘要 本文介绍了 Flutter 多引擎下,使用 PlatformView 场景时不能绕开的一个线程合并问题,以及它最终的解决方案.最终 Pull Request 已经 m ...

  8. Mac OS Fusion Linux虚拟机网络设置

    1.设定网络为nat 2.ifconfig查看mac机的ip 3.进入虚拟机设定网络,手动指定自己ip为mac机网段ip,xxx.xxx.xxx.2是固定的路由及DNS的ip 4.关闭再打开网络即可访 ...

  9. C++读写图片文件

    1.C方式 string sourcefilename = "D:\\Logo.jpg"; string destfilename="D:\\Logo1.jpg" ...

  10. RocketMq如何顺序消费的消息offest

    RocketMq对于消费者对于消息的如何处理的 1:如果设置了自动提交 返回: ConsumeOrderlyStatus.COMMIT, ConsumeOrderlyStatus.ROLLBACK, ...