目录
背景
简介
命令操作
1. 语法:
2. 功能
3. 参数
环境变量设置
背景
工作中时常收到客户的反馈,我的系统什么也没干,就出现文件丢失,程序错误等等问题;我们在问题排查的时候查看history信息也是重要环节之一,但是默认的history中时不显示执行时间,执行用户等等重要信息的,这篇文章就教你如何设置这些信息。
简介
Linux中 history 命令主要用于显示历史指令记录内容, 下达历史纪录中的指令。读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。
命令操作
1. 语法:
history 【参数】
2. 功能
查看已经执行过历史命令。如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。
3. 参数
history n 打印最近的n条历史命令。
history -N 显示历史记录中最近的N个记录。
history -c 清空当前历史命令。
history -a 将目前新增的历史指令新增入 histfiles 中,若没有加 histfiles,则预设写入 ~/.bash_history。
history -r 将历史命令文件中的命令读入当前历史命令缓冲区。
history-w 将当前历史命令缓冲区命令写入历史命令文件中。
history -d <offset> 删除历史记录中第offset个命令。
history -n <filename> 读取指定文件。
环境变量设置
Linux 系统中关于 history 的环境变量主要有以下几个:
HISTSIZE:指定历史记录列表中可保存的最大命令数目,即历史记录列表的长度。例如,HISTSIZE=100 表示最多保存 100 条历史记录。默认值为 500。
HISTFILESIZE:指定历史记录文件的最大字节数。当历史记录文件的大小超过此值时,最早的命令将被删除。例如,HISTFILESIZE=2000 表示历史记录文件最多保存 2000 字节。默认值为 2000。
HISTTIMEFORMAT:指定历史记录中显示时间的格式。例如,HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S" (也可以表示为 %F %T)表示将时间格式化为年-月-日 时:分:秒的形式。默认值为空,即不显示时间。
HISTIGNORE:指定要忽略的命令列表,即这些命令不会被保存在历史记录中。例如,HISTIGNORE="ls:cd" 表示忽略 ls 和 cd 命令。多个命令之间用冒号分隔。
HISTCONTROL:指定历史记录的控制选项。常见的控制选项有:
ignoredups:忽略重复的命令。
ignorespace:忽略以空格开头的命令。
erasedups:在保存命令到历史记录之前,先删除与前一条命令相同的命令。
ignoreboth:忽略重复的命令和以空格开头的命令。
例如,HISTCONTROL="erasedups:ignoredups" 表示先删除与前一条命令相同的命令,然后再忽略重复的命令。
示例: 配置history环境变量
默认情况下如下显示:
配置环境变量:
[root@clinet ~]# export HISTTIMEFORMAT="%F %T `whoami` "
配置后的显示:
注意:
配置好的环境变量记得写入到/etc/profile文件中,机器重启之后也会生效。