在linux系統下、history命令會保存多少條命令呢?曾在一本書上說,若是註銷系統,那麼會將全部的歷史命令都定入到~/.bash_history,linux
但只保留1000條命令(這個是由默認的shell變量所設置了的)可是爲何咱們執行history命令後會出現大於1000條的歷史記錄呢,shell
其實當咱們仔細一看只是序列大於1000、記錄的條數仍是1000條。vim
在此我是這樣理解的: 安全
一、~/.bash_histroy裏面是記錄的上次註銷前的歷史記錄(最大保存1000條,且是上次註銷前最近的1000條記錄)bash
二、執行history命令,會顯示~/.bash_history裏的記錄加上當前shell所執行記錄。且也是隻顯示1000條記錄、如從新登陸後、執行ls命令後、再使用history查看、服務器
會顯示.bash_history裏的+ls和history這兩條。若是~/.bash_history裏有1000條、則顯示後998+ls和history這兩條命令。post
三、咱們能夠修改history的歷史保留命令的條數;能夠查看history的默認保留條數 echo $HISTSIZE 通常默認是1000條以下圖所示:spa
若是爲了安全咱們只須要保留200條,怎麼辦呢?咱們能夠臨時修改最大保留條數:HISTSIZE=200 這樣就修改爲了200條啦,可是重啓服務器後,又還原了。3d
若是想一直保留200條,咱們須要在/etc/profile修改他的環境變量;可使用vim編輯(推薦使用vim編輯),也可使用sed直接修改。命令以下:code
[root@5201351 ~]# sed -i 's/^HISTSIZE=1000/HISTSIZE=200/' /etc/profile [root@5201351 ~]# source /etc/profile //使其當即生效
這樣就算重啓服務器後、history命令的歷史保留條數仍然爲200條,直到下一次HISTSIZE變量的修改。