查詢歷史使用過的命令並使用(history)

一、什麼是history

bash功能中,它能記憶使用過的命令,這個功能最大的好處就是可以查詢曾經做過的舉動!從而可以知道你的運行步驟,那麼就可以追蹤你曾下達過的命令,以作爲除錯的工具!

二、History的保存

那麼命令記錄在哪裏呢?在家目錄內的 .bash_history 裏! 不過,需要留意的是,~/.bash_history 記錄的是前一次登陸以前所運行過的命令, 而至於這一次登陸所運行的命令都被緩存在內存中,當你成功的註銷系統後,該命令記憶纔會記錄到 .bash_history 當中!

三、調用歷史命令

從上面我們已經知道了history的好處,那我們接下來學習一下它的用法吧!

history [n]

[root@instructor Desktop]#history [-c]

[root@instructor Desktop]#history [-raw] histfiles

選項與參數:

n   :數字,意思是要列出最近的 條命令行表的意思!

-c  :將目前的 shell 中的所有 history 內容全部消除

-a  :將目前新增的 history 命令新增入 histfiles 中,若沒有加 histfiles 

      則默認寫入 ~/.bash_history

-r  :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中;

-w  :將目前的 history 記憶內容寫入 histfiles 中!

範例一:列出目前內存內的所有 history 記憶

[root@instructor Desktop]#history

前面省略

 1017  man bash

 1018  ll

 1019  history 

 1020  history

列出的信息當中,共分兩欄,第一欄爲該命令在這個 shell 當中的代碼, 另一個則是命令本身的內容!至於會顯示多少條命令記錄,則與 HISTSIZE 有關!

範例二:列出目前最近的 條數據

[root@instructor Desktop]#history 3

 1019  history 

 1020  history

 1021  history 3

範例三:立刻將目前的數據寫入 histfile 當中

[root@instructor Desktop]#history -w

在默認的情況下,會將歷史紀錄寫入 ~/.bash_history 當中!

[root@instructor Desktop]#echo $HISTSIZE

1000

四、歷史使用的竅門

1、!的使用

⑴!!重複前一個命令

⑵!字符 重複前一個以“字符”開頭的命令

⑶!num 按照history命令輸出中的序號來重複對應命令

⑷!?abc 重複前一個包含abc的命令

⑸!-n 重複n個命令之前的那個命令

2、按鍵組合

⑴使用updown鍵來上下瀏覽之前執行的命令

⑵鍵入ctr+r來在命令歷史中搜索命令

[root@instructor Desktop]# 

(reverse-i-search)`': 

(reverse-i-search)`h': cat /etc/shadow

按回車鍵執行該命令

⑶要重新調用前一個命令中的參數

Esc + .(點擊Esc鍵,然後點擊.鍵)

注意:

History保存在每個用戶自己的歷史記錄中,位於用戶的家目錄中。用戶登錄後,執行命令存放在內存中,只有登錄後才能看到。

五、如何保證每次推出登錄時情況history

在需要的用戶主目錄下,編輯~/.bash.logout添加一句history -c保存退出就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章