以Ubuntu16.04.3为例,默认只显示最近的1000条、保存最近的2000条命令记录。1000条之后如再产生新记录,最前面超过1000的那部分记录将会不显示。2000条之后如再产生新记录,最前面超过2000的那部分记录将会从.bash_history中删除。
查询当前HISTSIZE值的命令:
echo $HISTSIZE
echo $HISTFILESIZE
示例见下图:
如果需要修改,可使用如下3种方法:
方法一:直接通过命令替换原有值进行修改
命令如下:
sed -i 's/^HISTSIZE=原数量(默认1000)/HISTSIZE=目标数量/' ~/.bashrc; #替换HISTSIZE值,控制输出历史记录数量
sed -i 's/^HISTFILESIZE=原数量(默认1000)/HISTFILESIZE=目标数量/' ~/.bashrc; #替换HISTFILESIZE值,控制存储历史记录数量
source ~/.bashrc; #使上述修改立即生效
修改HISTSIZE过程的示例如下:
方法二:通过vi ~/.bashrc手动修改HISTSIZE和HISTFILESIZE的值
如,将其中的HISTSIZE修改为HISTSIZE=8000(如果不存在该设置,可以直接添加)。修改后保存(保存方式:末行模式输入x或wq。或者按ESC回到命令模式下,再直接按下Shift+z z组合键)。示例如下:
保存后,执行如下命令:
source ~/.bashrc #使上述修改立即生效
注:
1、HISTSIZE值,用于控制history命令输出历史记录数量;HISTFILESIZE值,控制.bash_history文件中存储历史记录数量;
2、如果想要history记录中显示日期、时间、操作者、机器IP等信息,可以在~/.bashrc或/etc/profile添加类似HISTTIMEFORMAT='[%F %T] : '字段,放在HISTSIZE和HISTFILESIZE下面即可。
方法三:通过vi /etc/profile手动修改HISTSIZE的值
如,可在/etc/profile最后一行增加:
HISTSIZE=46000
HISTFILESIZE=5000(下图中未添加该字段,实际使用时可根据需要添加)
修改后,保存(保存方式:末行模式输入x或wq。或者按ESC回到命令模式下,再直接按下Shift+z z组合键)。
保存后,别忘了执行如下命令:
source /etc/profile; #使上述修改立即生效
注:如果同时修改了~/.bashrc和/etc/profile两个配置中文件的HISTSIZE值,并且两个值不一样的话,source哪个配置文件,哪个文件中的值才会生效。效果参考下图:
参考blog:
1、HISTTIMEFORMAT包含日期、时间、操作者、机器IP等较丰富信息:点击这里.
2、HISTTIMEFORMAT包含日期、时间等较简洁信息: 点击这里.