linux下修改history命令保存條數(shù)

在linux系統(tǒng)下、history命令會保存多少條命令呢?曾在一本書上說,如果注銷系統(tǒng),那么會將所有的歷史命令都定入到~/.bash_history,

但只保留1000條命令(這個是由默認(rèn)的shell變量所設(shè)置了的)但是為什么我們執(zhí)行history命令后會出現(xiàn)大于1000條的歷史記錄呢,

其實當(dāng)我們仔細(xì)一看只是序列大于1000、記錄的條數(shù)還是1000條。

在此我是這樣理解的:

1、~/.bash_histroy里面是記錄的上次注銷前的歷史記錄(最大保存1000條,且是上次注銷前最近的1000條記錄

2、執(zhí)行history命令,會顯示~/.bash_history里的記錄加上當(dāng)前shell所執(zhí)行記錄。且也是只顯示1000條記錄、如重新登錄后、執(zhí)行l(wèi)s命令后、再使用history查看、 會顯示.bash_history里的+ls和history這兩條。如果~/.bash_history里有1000條、則顯示后998+lshistory這兩條命令。

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

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

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

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容