设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 68|回复: 17

让 history 命令显示日期和时间方法详解

[复制链接]

4

主题

67

回帖

211

积分

中级会员

积分
211
发表于 2024-4-20 10:31:41 | 显示全部楼层 |阅读模式
我们都对 history 命令很熟悉。它将终端上 bash 执行过的所有命令存储到 .bash_history 文件中,来帮助我们复查用户之前执行过的命令。
默认情况下 history 命令直接显示用户执行的命令而不会输出运行命令时的日期和时间,即使 history 命令记录了这个时间。
运行 history 命令时,它会检查一个叫做 HISTTIMEFORMAT 的环境变量,这个环境变量指明了如何格式化输出 history 命令中记录的这个时间。
若该值为 null 或者根本没有设置,则它跟大多数系统默认显示的一样,不会显示日期和时间。
HISTTIMEFORMAT 使用 strftime 来格式化显示时间(strftime - 将日期和时间转换为字符串)。history 命令输出日期和时间能够帮你更容易地追踪问题。
·%T: 替换为时间(%H:%M:%S)。
·%F: 等同于 %Y-%m-%d (ISO 8601:2000 标准日期格式)。
下面是 history 命令默认的输出。
  1. # history
  2. 1 yum install -y mysql-server mysql-client
  3. 2 service mysqld start
  4. 3 sysdig proc.name=sshd
  5. 4 sysdig -c topprocs_net
  6. 5 sysdig proc.name=sshd
  7. 6 sysdig proc.name=sshd | more
  8. 7 sysdig fd.name=/var/log/auth.log | more
  9. 8 sysdig fd.name=/var/log/mysqld.log
  10. 9 sysdig -cl
  11. 10 sysdig -i httplog
  12. 11 sysdig -i proc_exec_time
  13. 12 sysdig -i topprocs_cpu
  14. 13 sysdig -c topprocs_cpu
  15. 14 sysdig -c tracers_2_statsd
  16. 15 sysdig -c topfiles_bytes
  17. 16 sysdig -c topprocs_cpu
  18. 17 sysdig -c topprocs_cpu "fd.name contains sshd"
  19. 18 sysdig -c topprocs_cpu "proc.name contains sshd"
  20. 19 csysdig
  21. 20 sysdig -c topprocs_cpu
  22. 21 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
  23. 22 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo
  24. 23 yum install -y epel-release
  25. 24 yum update
  26. 25 yum makecache
  27. 26 yum -y install kernel-devel-$(uname -r)
  28. 27 yum -y install sysdig
  29. 28 sysdig
  30. 29 yum install httpd mysql
  31. 30 service httpd start
复制代码
根据需求,有三种不同的设置环境变量的方法。
·临时设置当前用户的环境变量
·永久设置当前/其他用户的环境变量
·永久设置所有用户的环境变量
注意: 不要忘了在最后那个单引号前加上空格,否则输出会很混乱的。
方法 1:

运行下面命令为为当前用户临时设置 HISTTIMEFORMAT 变量。这会一直生效到下次重启。
  1. # export HISTTIMEFORMAT='%F %T '
复制代码
方法 2:

将 HISTTIMEFORMAT 变量加到 .bashrc 或 .bash_profile 文件中,让它永久生效。
  1. # echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

  2. # echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bash_profile
复制代码
运行下面命令来让文件中的修改生效。
  1. # source ~/.bashrc

  2. # source ~/.bash_profile
复制代码
方法 3:

将 HISTTIMEFORMAT 变量加入 /etc/profile 文件中,让它对所有用户永久生效。
  1. # echo 'HISTTIMEFORMAT="%F %T "' >> /etc/profile
复制代码
运行下面命令来让文件中的修改生效。
  1. # source /etc/profile
复制代码
输出结果为:
  1. # history
  2. 1 2017-08-16 15:30:15 yum install -y mysql-server mysql-client
  3. 2 2017-08-16 15:30:15 service mysqld start
  4. 3 2017-08-16 15:30:15 sysdig proc.name=sshd
  5. 4 2017-08-16 15:30:15 sysdig -c topprocs_net
  6. 5 2017-08-16 15:30:15 sysdig proc.name=sshd
  7. 6 2017-08-16 15:30:15 sysdig proc.name=sshd | more
  8. 7 2017-08-16 15:30:15 sysdig fd.name=/var/log/auth.log | more
  9. 8 2017-08-16 15:30:15 sysdig fd.name=/var/log/mysqld.log
  10. 9 2017-08-16 15:30:15 sysdig -cl
  11. 10 2017-08-16 15:30:15 sysdig -i httplog
  12. 11 2017-08-16 15:30:15 sysdig -i proc_exec_time
  13. 12 2017-08-16 15:30:15 sysdig -i topprocs_cpu
  14. 13 2017-08-16 15:30:15 sysdig -c topprocs_cpu
  15. 14 2017-08-16 15:30:15 sysdig -c tracers_2_statsd
  16. 15 2017-08-16 15:30:15 sysdig -c topfiles_bytes
  17. 16 2017-08-16 15:30:15 sysdig -c topprocs_cpu
  18. 17 2017-08-16 15:30:15 sysdig -c topprocs_cpu "fd.name contains sshd"
  19. 18 2017-08-16 15:30:15 sysdig -c topprocs_cpu "proc.name contains sshd"
  20. 19 2017-08-16 15:30:15 csysdig
  21. 20 2017-08-16 15:30:15 sysdig -c topprocs_cpu
  22. 21 2017-08-16 15:30:15 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
  23. 22 2017-08-16 15:30:15 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo
  24. 23 2017-08-16 15:30:15 yum install -y epel-release
  25. 24 2017-08-16 15:30:15 yum update
  26. 25 2017-08-16 15:30:15 yum makecache
  27. 26 2017-08-16 15:30:15 yum -y install kernel-devel-$(uname -r)
  28. 27 2017-08-16 15:30:15 yum -y install sysdig
  29. 28 2017-08-16 15:30:15 sysdig
  30. 29 2017-08-16 15:30:15 yum install httpd mysql
  31. 30 2017-08-16 15:30:15 service httpd start
复制代码
以上就是脚本之家分享给大家关于让 history 命令显示日期和时间方法详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:30
  • 最近打卡:2024-04-20 07:41:19

2

主题

47

回帖

186

积分

等待验证会员

积分
186
发表于 2024-4-23 16:06:03 | 显示全部楼层
这个话题很有趣,我想多了解一些

3

主题

54

回帖

176

积分

注册会员

积分
176
发表于 2024-4-25 15:34:12 | 显示全部楼层
同意!

0

主题

61

回帖

123

积分

注册会员

积分
123
发表于 2024-4-29 14:21:09 | 显示全部楼层
每日一回

2

主题

38

回帖

120

积分

注册会员

积分
120
发表于 2024-5-31 19:00:54 | 显示全部楼层
牛逼

0

主题

67

回帖

135

积分

注册会员

积分
135
发表于 2024-7-2 03:46:09 | 显示全部楼层
666666666666666666

0

主题

33

回帖

64

积分

注册会员

积分
64
发表于 2024-7-17 17:28:44 | 显示全部楼层
非常感谢你的观点,让我受益良多!

1

主题

49

回帖

121

积分

注册会员

积分
121
发表于 2024-8-23 22:15:42 | 显示全部楼层
每日一回

0

主题

46

回帖

91

积分

注册会员

积分
91
发表于 2024-8-26 22:03:22 | 显示全部楼层
我们一起努力,共同解决问题吧。
  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 打卡月天数:0
  • 打卡总奖励:97
  • 最近打卡:2024-08-20 16:26:13

1

主题

66

回帖

323

积分

中级会员

积分
323
发表于 2024-8-27 12:04:23 | 显示全部楼层
让我们一起努力
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 05:22 , Processed in 0.094118 second(s), 26 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表