Linux中如何使用history命令
通過(guò)Linux下的history命令我們可以查看用過(guò)的命令,即歷史命令,今天本文將詳細(xì)介紹Linux下history的具體用法,一起來(lái)了解下吧。
一、什么是history
在bash功能中,它能記憶使用過(guò)的命令,這個(gè)功能最大的好處就是可以查詢?cè)?jīng)做過(guò)的舉動(dòng)!
從而可以知道你的運(yùn)行步驟,那么就可以追蹤你曾下達(dá)過(guò)的命令,以作為除錯(cuò)的工具!
二、History的保存
那么命令記錄在哪里呢?在家目錄內(nèi)的 .bash_history 里! 不過(guò),需要留意的是,~/.bash_history 記錄的是前一次登陸以前所運(yùn)行過(guò)的命令,而至于這一次登陸所運(yùn)行的命令都被緩存在內(nèi)存中,當(dāng)你成功的注銷系統(tǒng)后,該命令記憶才會(huì)記錄到 .bash_history 當(dāng)中!
三、調(diào)用歷史命令
接下來(lái)學(xué)習(xí)history歷史命令的用法。
代碼如下:
history [n]
[root@jb51 Desktop]#history [-c]
[root@jb51 Desktop]#history [-raw] histfiles
選項(xiàng)與參數(shù):
n :數(shù)字,意思是要列出最近的 n 條命令行表的意思!
-c :將目前的 shell 中的所有 history 內(nèi)容全部消除
-a :將目前新增的 history 命令新增入 histfiles 中,若沒有加 histfiles ,
則默認(rèn)寫入 ~/.bash_history
-r :將 histfiles 的內(nèi)容讀到目前這個(gè) shell 的 history 記憶中;
-w :將目前的 history 記憶內(nèi)容寫入 histfiles 中!
例1,列出目前內(nèi)存內(nèi)的所有 history 歷史記錄
代碼如下:
[root@jb51 Desktop]#history
# 前面省略
1017 man bash
1018 ll
1019 history
1020 history
列出的信息當(dāng)中,共分兩欄,第一欄為該命令在這個(gè) shell 當(dāng)中的代碼, 另一個(gè)則是命令本身的內(nèi)容!至于會(huì)顯示多少條命令記錄,則與 HISTSIZE 有關(guān)!
例2,列出目前最近的 3 條數(shù)據(jù)
代碼如下:
[root@jb51 Desktop]#history 3
1019 history
1020 history
1021 history 3
例3,立刻將目前的數(shù)據(jù)寫入 histfile 當(dāng)中
代碼如下:
[root@jb51 Desktop]#history -w
# 在默認(rèn)的情況下,會(huì)將歷史紀(jì)錄寫入 ~/.bash_history 當(dāng)中!
[root@jb51 Desktop]#echo $HISTSIZE
1000
四、歷史使用的竅門
1、!的使用
?、?!重復(fù)前一個(gè)命令
⑵!字符 重復(fù)前一個(gè)以“字符”開頭的命令
?、?num 按照history命令輸出中的序號(hào)來(lái)重復(fù)對(duì)應(yīng)命令
?、??abc 重復(fù)前一個(gè)包含abc的命令
⑸!-n 重復(fù)n個(gè)命令之前的那個(gè)命令
2、按鍵組合
?、攀褂胾p和down鍵來(lái)上下瀏覽之前執(zhí)行的命令
?、奇I入ctr+r來(lái)在命令歷史中搜索命令
代碼如下:
[root@jb51 Desktop]#
(reverse-i-search)`‘:
(reverse-i-search)`h’: cat /etc/shadow
按回車鍵執(zhí)行該命令
⑶要重新調(diào)用前一個(gè)命令中的參數(shù)
Esc + 。(點(diǎn)擊Esc鍵,然后點(diǎn)擊。鍵)
注意:
History保存在每個(gè)用戶自己的歷史記錄中,位于用戶的家目錄中。
用戶登錄后,執(zhí)行命令存放在內(nèi)存中,只有登錄后才能看到。
五、如何保證每次推出登錄時(shí)情況history
在需要的用戶主目錄下,編輯~/.bash.logout添加一句history -c保存退出就可以了。
上面就是Linux下history命令的用法介紹了,本文只簡(jiǎn)單介紹了history命令的基本知識(shí),其實(shí)history命令還有很多的使用方法,這里就不一一介紹了。