Bash历史记录显示每个命令的日期和时间
时间:2020-01-09 10:45:53 来源:igfitidea点击:
在Linux,MacOS或者类似Unix的操作系统下,如何显示带有日期和时间的Shell命令历史记录?
如何在运行在Linux或者类似Unix的系统上的bash history命令中查看日期和时间戳?
bash shell提供对命令历史记录(先前执行的命令列表)的访问。
HISTSIZE变量的值用作要保存在历史记录列表中的命令数。
如果设置了" HISTTIMEFORMAT",则将与每个历史记录条目关联的时间戳信息写入历史记录文件,并用历史记录注释字符标记。
在本教程中我们学习了在Linux或者类似Unix的系统上运行history命令时,如何显示带有日期和时间的bash历史记录。
Bash历史记录显示每个命令的日期和时间
默认情况下,history命令将显示如下输出:
$ history
输出示例:
1994 ls S*.pdf 1995 ls -lh S*.pdf 1996 xdg-open Statement_Jun\ 2016.pdf 1997 xdg-open System_01Jun2016_30Jun2016_0133*.pdf 1998 ssh [email protected] 1999 gpass 2000 history
上面的命令不会显示bash历史记录中命令的执行时间。
要解决此问题,请创建一个名为HISTTIMEFORMAT的shell变量。
如何在Bash历史记录中查看时间戳
如下定义名为HISTTIMEFORMAT的环境变量:
$ HISTTIMEFORMAT="%d/%m/%y %T "
或者添加到您的~/.bash_profile文件中,执行:
$ echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile
其中:
%d
日%m
月%y
年%T
时间
使用source命令将HISTTIMEFORMAT从文件加载到当前的shell脚本或者命令提示符中:
$ . ~/.bash_profile
或者
$ source ~/.bash_profile
如何按日期和时间检索Linux或者Unix bash命令行历史记录
现在,要查看历史记录,请执行:
$ history
输出示例:
.... .. 986 11/03/10 04:31:36 memcached-tool 10.10.28.22:11211 stats 987 11/03/10 04:31:36 w 988 11/03/10 04:31:37 iostat 989 11/03/10 04:31:37 top 990 11/03/10 04:31:37 at 991 11/03/10 04:31:38 atop 992 11/03/10 04:31:40 collectl 993 11/03/10 04:31:41 grep CPU /proc/cpuinfo 994 11/03/10 04:31:45 vmstat 3 100 995 11/03/10 04:31:55 sar -W -f /var/log/sa/sa12 .... ..