linux下修改history命令保存條數


在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+lshistory這兩條命令。

3、我們可以修改history的歷史保留命令的條數;可以查看history的默認保留條數 echo $HISTSIZE 一般默認是1000條如下圖所示:

如果為了安全我們只需要保留200條,怎么辦呢?我們可以臨時修改最大保留條數:HISTSIZE=200 這樣就修改成了200條啦,但是重啟服務器后,又還原了。

如果想一直保留200條,我們需要在/etc/profile修改他的環境變量;可以使用vim編輯(推薦使用vim編輯),也可以使用sed直接修改。命令如下:

[root@5201351 ~]# sed -i 's/^HISTSIZE=1000/HISTSIZE=200/' /etc/profile
[root@5201351 ~]# source /etc/profile   //使其立即生效

這樣就算重啟服務器后、history命令的歷史保留條數仍然為200條,直到下一次HISTSIZE變量的修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM