1. 程式人生 > >[Linux] 關於 history 命令的簡單使用

[Linux] 關於 history 命令的簡單使用

1. 如果不想記錄當前 會話操作的命令的話 可以使用命令

set +o history

但是這個命令有一個壞處, 他自己被記住了...

2. 還有一個辦法 就是 在退出登入之前執行命令

history -r

就會將之前的歷史記錄重新讀取過來 就覆蓋到本次執行的歷史記錄命令了.

3. 還有一個命令 history 

history -c

以及一個簡介:

地址: https://www.linuxidc.com/Linux/2012-01/52868.htm

Linux下History命令主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。

>History命令語法:
[[email protected]]# history [n]
[[email protected]]# history [-c]
[[email protected]]# history [-raw] histfiles

引數:
n  :數字,要列出最近的 n 筆命令列表
-c :將目前的shell中的所有 history 內容全部消除
-a :將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles,則預設寫入 ~/.bash_history
-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中
-w :將目前的 history 記憶內容寫入 histfiles。Linux系統當你在shell(控制檯)中輸入並執行命令時,shell會自動把你的命令記錄到歷史列表中,一般儲存在使用者目錄下的.bash_history檔案中。預設儲存1000條,你也可以更改這個值。如果你鍵入 history, history會向你顯示你所使用的前1000個歷史命令,並且給它們編了號,你會看到一個用數字編號的列表快速從螢幕上捲過。你可能不需要檢視1000個命令中的所有專案, 當然你也可以加入數字來列出最近的 n 筆命令列表。linux中history命令不僅僅讓我們可以查詢歷史命令而已. 我們還可以利用相關的功能來幫我們執行命令。執行特定的歷史命令history會列出bash儲存的所有歷史命令,並且給它們編了號,我們可以使用“歎號接編號”的方式執行特定的歷史命令.

語法說明:
[[email protected]]# [!number] [!command] [!!]
引數說明:
number :第幾個指令的意思; 
command  :指令的開頭幾個字母 
! :上一個指令的意思!

History命令實戰
1.出所有的歷史記錄:
[[email protected]] # history

2.只列出最近10條記錄:
[[email protected]] # history 10 (注,history和10中間有空格)

3.使用命令記錄號碼執行命令,執行歷史清單中的第99條命令
[[email protected]

] #!99 (!和99中間沒有空格)

4.重複執行上一個命令
[[email protected]] #!!

5.執行最後一次以rpm開頭的命令(!代表的是字串,這個String可以隨便輸,Shell會從最後一條歷史命令向前搜尋,最先匹配的一條命令將會得到執行。)
[[email protected]] #!rpm

6.逐屏列出所有的歷史記錄:
[[email protected]]# history | more

7.立即清空history當前所有歷史命令的記錄
[[email protected]] #history -c

除了使用history命令,在 shell 或 GUI 終端提示下,你也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會向前翻閱),直到你找到所需命令為止。這可以讓我們很方便地編輯前面的某一條命令,而不用重複輸入類似的命令。History命令的用途確實很大!但需要小心安全的問題!尤其是 root 的歷史紀錄檔案,這是黑客們的最愛!因為不小心的 root 會將很多的重要資料在執行的過程中會被紀錄在 ~/.bash_history 當中,如果這個檔案被解析的話,後果不堪設想!