在linux系统下、history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history,

但只保留1000条命令(这个是由默认的shell变量所设置了的)但是为什么我们执行history命令后会出现大于1000条的历史记录呢,

其实当我们仔细一看只是序列大于1000、记录的条数还是1000条。

在此我是这样理解的:

1、~/.bash_histroy里面是记录的上次注销前的历史记录(最大保存1000条,且是上次注销前最近的1000条记录)

2、执行history命令,会显示~/.bash_history里的记录加上当前shell所执行记录。且也是只显示1000条记录、如重新登录后、执行ls命令后、再使用history查看、

会显示.bash_history里的+ls和history这两条。如果~/.bash_history里有1000条、则显示后998+ls和history这两条命令。

3、我们可以修改history的历史保留命令的条数;可以查看history的默认保留条数 echo $HISTSIZE 一般默认是1000条如下图所示:

b3bfa84e7a7b73d3531d78ea0a590a6c.png

如果为了安全我们只需要保留200条,怎么办呢?我们可以临时修改最大保留条数:HISTSIZE=200 这样就修改成了200条啦,但是重启服务器后,又还原了。

如果想一直保留200条,我们需要在/etc/profile修改他的环境变量;可以使用vim编辑(推荐使用vim编辑),也可以使用sed直接修改。命令如下:

[root@ ~]# sed -i 's/^HISTSIZE=1000/HISTSIZE=200/' /etc/profile

[root@ ~]# source /etc/profile //使其立即生效

这样就算重启服务器后、history命令的历史保留条数仍然为200条,直到下一次HISTSIZE变量的修改。

修改linux系统history命令的条数和格式

在一次测试环境遇到的情况,发现服务莫名其妙挂了,以为服务有bug,查了一下午,后来一个同事说,是我把服务关了啊.... 是可忍孰不可忍,原生的history命令,只能看到输入的命令历史,看不到什么时候 ...

linux下修改rm命令防止误删除

前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. ...

[转] 关于linux下通过shell命令(自动)修改用户密码

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐