Linux 基礎(chǔ)教程 44-history命令

什么是history

? ? 在Linux系統(tǒng)日積月累的使用中,我們會輸入很多命令。而在我們想重復(fù)上一個命令時踊赠,通過使用方向鍵向上翻就可以查看我們已經(jīng)輸入和使用過的命令肺魁。那大家有沒有想過這個命令保存在什么地方电湘,最大又會保存多少條記錄了?今天我們就來學(xué)習(xí)history命令。
? ? 從history字面意思就可以知道該命令主要用于查看用戶曾經(jīng)輸入和使用過的命令胡桨。使用該命令可以減少我們?nèi)粘V貜?fù)輸入命令的次數(shù)官帘。其常用選項如下所示:

選項 說明
-c 清除歷史命令
-d offset 刪除指定位置的history命令
-a 添加新的歷史命令記錄
-r 從historyfile讀取歷史記錄做為當(dāng)前的歷史記錄
-w 將當(dāng)前的歷史記錄保存并覆蓋到historyfile中

常用用法

重復(fù)上一次的執(zhí)行命令

? ? 在日常使用過程中,最常用的場景就是==重復(fù)執(zhí)行上一次的命令==昧谊,對于這種場景刽虹,我想大家用得最多應(yīng)當(dāng)是使用方向鍵向上或向下進行翻滾來實現(xiàn)吧。但可以實現(xiàn)這種場景共有4種方法呢诬,分別如下:

  • 使用方向鍵向上或向下翻滾涌哲,按Enter鍵
  • 輸入!!,按Enter鍵
  • 輸入!-1尚镰,按Enter鍵
  • 輸入Ctrl+P阀圾,按Enter鍵

重復(fù)執(zhí)行指定的命令

? ? 在日常使用過程,我們不僅僅希望執(zhí)行上一次的命令狗唉,而是想執(zhí)行指定的歷史命令時初烘,則有兩種方法

  • 指定ID,則可以使用!HistoryID分俯,如我們想執(zhí)行historyID為1993的命令肾筐,則可以按以下形式進行輸入
[root@localhost ~]# !1993
  • 指定命令進行模糊查詢,則可以使用!HistoryCmd缸剪,==這里搜索的命令從最后一條歷史記錄向前搜索吗铐,找到滿足條件的命令即執(zhí)行==,示例如下:
[root@localhost ~]# cat -n ~/.bash_history | grep du
   562  du -ah --exclude="*/.*" .
   564  du -ah .
   565  du -ah . | more
   566  du -ah --exclude="*/.*" .
   567  du -h --max-depth=1 /
   568  du -h --max-depth=1 / | sort -hr
[root@localhost ~]# !du
#找到離當(dāng)前最近執(zhí)行的命令
du -h --max-depth=1 / | sort -hr

搜索曾經(jīng)執(zhí)行的命令

? ? 在Window中如果大家要搜索文件常用快捷鍵Ctrl+F杏节,而Linux中搜索曾經(jīng)執(zhí)行過的命令則使用快捷鍵Ctrl+R

# 在當(dāng)前Shell中按Ctrl+R唬渗,而后輸入命令即可
(reverse-i-search)`du': cat -n ~/.bash_history | grep du

給歷史命令添加時間戳

# 預(yù)先定義一個環(huán)境變量
[root@localhost ~]# export HISTTIMEFORMAT=' %F %T '

root@localhost ~]# history
 1009   2018-08-14 23:18:22 pidof sshd
 1010   2018-08-14 23:18:22 pidof -o 1995
 1011   2018-08-14 23:18:22 pidof sshd -o 1995

清除歷史命令

? ? 雖然歷史命令方便和減少日常需要輸入執(zhí)行命令的時間,但也會存在安全隱患奋渔。如果不小心在歷史命令輸入連接其他Linux的地址镊逝、MySQL等密碼。一旦出現(xiàn)系統(tǒng)被黑掉或被非管理員看到卒稳,則可能存在嚴(yán)重的隱患蹋半,這時候大家肯定會想到清除歷史命令。這時可以使用-c選項

[root@localhost ~]# history -c

? ? 在使用以下選項充坑,就真的把歷史命令給清空了嗎减江?答案當(dāng)然不是。在下次重新登錄后捻爷,歷史命令依然存在辈灼,這是什么原因?

-c 選項只是暫時把Linux系統(tǒng)內(nèi)存中的歷史命令給清空也榄,當(dāng)用戶退出時巡莹,就不會有歷史命令記錄追加到.bash_history中司志,當(dāng)用戶重新登錄后,系統(tǒng)會重新加文件.bash_history降宅,而歷史命令便又會重新顯示出來了骂远。

? ? 真正能完全清空歷史命令的做法如下:

  • 方法一:
[root@localhost ~]# history -c ; history -w
  • 方法二:清空~/.bash_history文件
[root@localhost ~]# echo "" > ~/.bash_history

history配置

  • 設(shè)置歷史記錄時間:
[root@localhost ~]# export HISTTIMEFORMAT=' %F %T '
  • 控制歷史命令記錄個數(shù)
#設(shè)置內(nèi)存中保存的命令記錄個數(shù)
[root@localhost ~]# export HISTSIZE=300
# 設(shè)置.bash_history中保存的命令記錄個數(shù)
[root@localhost ~]# export HISTFILESIZE=300
  • 更改默認(rèn)保存文件
    ? ? 系統(tǒng)默認(rèn)配置會將歷史命令保存到~/.bash_history中,如果要保存到其他文件腰根,可以按以下方法進行更改
[root@localhost ~]# export HISTFILE=~/.historycmd.txt
  • 其他配置
# 清除整個命令歷史記錄中的重復(fù)記錄
[root@localhost ~]# export HISTCONTROL=erasedups
# 忽略命令歷史記錄中連續(xù)重復(fù)的記錄
[root@localhost ~]# export HISTCONTROL=ignoredups
# 忽略命令歷史記錄中以空格開始的記錄
[root@localhost ~]# export HISTCONTROL=ignorespace
# 忽略命令歷史記錄的重復(fù)記錄和以空格開始的記錄
[root@localhost ~]# export HISTCONTROL=ignoreboth
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末激才,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子额嘿,更是在濱河造成了極大的恐慌瘸恼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件册养,死亡現(xiàn)場離奇詭異东帅,居然都是意外死亡,警方通過查閱死者的電腦和手機球拦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門靠闭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刘莹,你說我怎么就攤上這事阎毅》俑眨” “怎么了点弯?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長矿咕。 經(jīng)常有香客問我抢肛,道長,這世上最難降的妖魔是什么碳柱? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任捡絮,我火速辦了婚禮,結(jié)果婚禮上莲镣,老公的妹妹穿的比我還像新娘福稳。我一直安慰自己,他們只是感情好瑞侮,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布的圆。 她就那樣靜靜地躺著,像睡著了一般半火。 火紅的嫁衣襯著肌膚如雪越妈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天钮糖,我揣著相機與錄音梅掠,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛阎抒,可吹牛的內(nèi)容都是我干的酪我。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼且叁,長吁一口氣:“原來是場噩夢啊……” “哼祭示!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谴古,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤质涛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后掰担,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汇陆,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年带饱,在試婚紗的時候發(fā)現(xiàn)自己被綠了毡代。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡勺疼,死狀恐怖教寂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情执庐,我是刑警寧澤酪耕,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站轨淌,受9級特大地震影響迂烁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜递鹉,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一盟步、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躏结,春花似錦却盘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至禀挫,卻和暖如春旬陡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背语婴。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工描孟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留驶睦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓匿醒,卻偏偏與公主長得像场航,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子廉羔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容