Linux中修改命令历史记录保存数量HISTSIZE的3种方法

以Ubuntu16.04.3为例,默认只显示最近的1000条、保存最近的2000条命令记录。1000条之后如再产生新记录,最前面超过1000的那部分记录将会不显示。2000条之后如再产生新记录,最前面超过2000的那部分记录将会从.bash_history中删除。
查询当前HISTSIZE值的命令:

echo $HISTSIZE
echo $HISTFILESIZE

示例见下图:
Linux中修改命令历史记录保存数量HISTSIZE的3种方法_第1张图片

如果需要修改,可使用如下3种方法:
方法一:直接通过命令替换原有值进行修改

命令如下:

sed -i 's/^HISTSIZE=原数量(默认1000)/HISTSIZE=目标数量/' ~/bashrc;  #替换HISTSIZE值,控制输出历史记录数量
sed -i 's/^HISTFILESIZE=原数量(默认1000)/HISTFILESIZE=目标数量/' ~/bashrc;  #替换HISTFILESIZE值,控制存储历史记录数量
source ~/bashrc;  #使上述修改立即生效

修改HISTSIZE过程的示例如下:
Linux中修改命令历史记录保存数量HISTSIZE的3种方法_第2张图片
方法二:通过vi ~/.bashrc手动修改HISTSIZE和HISTFILESIZE的值
如,将其中的HISTSIZE修改为HISTSIZE=8000。修改后保存(保存方式:末行模式输入x或wq。或者按ESC回到命令模式下,再直接按下Shift+z z组合键)。示例如下:
Linux中修改命令历史记录保存数量HISTSIZE的3种方法_第3张图片
保存后,执行如下命令:

source ~/.bashrc  #使上述修改立即生效

Linux中修改命令历史记录保存数量HISTSIZE的3种方法_第4张图片
注:
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(下图中未添加该字段,实际使用时可根据需要添加)
Linux中修改命令历史记录保存数量HISTSIZE的3种方法_第5张图片
修改后,保存(保存方式:末行模式输入x或wq。或者按ESC回到命令模式下,再直接按下Shift+z z组合键)。
保存后,别忘了执行如下命令:

source /etc/profile;  #使上述修改立即生效

注:如果同时修改了~/.bashrc和/etc/profile两个配置中文件的HISTSIZE值,并且两个值不一样的话,source哪个配置文件,哪个文件中的值才会生效。效果参考下图:
Linux中修改命令历史记录保存数量HISTSIZE的3种方法_第6张图片
参考blog:
1、HISTTIMEFORMAT包含日期、时间、操作者、机器IP等较丰富信息:点击这里.
2、HISTTIMEFORMAT包含日期、时间等较简洁信息: 点击这里.

你可能感兴趣的:(Linux,linux,ubuntu)