Linux中如何高效运用history命令?

2026-05-22 15:232阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计752个文字,预计阅读时间需要4分钟。

Linux中如何高效运用history命令?

背景:在正常情况下,Linux系统中输入history命令仅显示序号和历史命令,如下所示,但当需要根据历史命令来排查一些故障问题时,无法精确获取该命令执行的详细信息,包括执行时间等。

问题:如何获取历史命令执行的详细信息,包括执行时间等?

背景:

正常情况下,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 清空改用户使用的历史命令记录

本文共计752个文字,预计阅读时间需要4分钟。

Linux中如何高效运用history命令?

背景:在正常情况下,Linux系统中输入history命令仅显示序号和历史命令,如下所示,但当需要根据历史命令来排查一些故障问题时,无法精确获取该命令执行的详细信息,包括执行时间等。

问题:如何获取历史命令执行的详细信息,包括执行时间等?

背景:

正常情况下,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 清空改用户使用的历史命令记录