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

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

echo $HISTSIZE
echo $HISTFILESIZE

示例见下图:
默认HISTSIZE和HISTFILESIZE

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

命令如下:

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

修改HISTSIZE过程的示例如下:
命令修改HISTSIZE过程
方法二:通过vi ~/.bashrc手动修改HISTSIZE和HISTFILESIZE的值
如,将其中的HISTSIZE修改为HISTSIZE=8000(如果不存在该设置,可以直接添加)。修改后保存(保存方式:末行模式输入x或wq。或者按ESC回到命令模式下,再直接按下Shift+z z组合键)。示例如下:
修改.bashrc过程
保存后,执行如下命令:

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

修改.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(下图中未添加该字段,实际使用时可根据需要添加)
手动修改profile中HISTSIZE值
修改后,保存(保存方式:末行模式输入x或wq。或者按ESC回到命令模式下,再直接按下Shift+z z组合键)。
保存后,别忘了执行如下命令:

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

注:如果同时修改了~/.bashrc和/etc/profile两个配置中文件的HISTSIZE值,并且两个值不一样的话,source哪个配置文件,哪个文件中的值才会生效。效果参考下图:
source不同配置文件的效果
参考blog:
1、HISTTIMEFORMAT包含日期、时间、操作者、机器IP等较丰富信息:点击这里.
2、HISTTIMEFORMAT包含日期、时间等较简洁信息: 点击这里.

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值