Linux下history命令簡單原理

strongmore發表於2024-03-30

前言

在我們平時操作 linux 伺服器時,有時候需要使用之前操作過的命令,這個時候 history 就派上用場了,它會記錄你的歷史操作命令。

使用

歷史記錄會持久化儲存,預設位置是當前使用者目錄下的 .bash_history 檔案。

當 Linux 系統啟動一個 Shell 時,Shell 會從 .bash_history 檔案中,讀取歷史記錄,儲存在相應記憶體的緩衝區中。

我們平時所操作的 Linux 命令,都會記錄在緩衝區中。包括 history 命令所執行的歷史命令管理,都是在操作緩衝區,而不是直接操作 .bash_history 檔案。

history # 顯示所有歷史命令
history 5 # 顯示最近5條命令,Ubuntu下是這個,Centos下為 history -5
history | grep redis # 過濾歷史命令
echo $HISTFILE # 檢視歷史記錄持久化的儲存檔案
echo $HISTSIZE # 檢視歷史記錄的緩衝區限制大小
echo $HISTFILESIZE # 檢視持久化檔案的限制大小
echo $HISTCONTROL # 擴充套件的控制選項
# ignorespace: 忽略空格開頭的命令
# ignoredups: 忽略連續重複命令
# ignoreboth: 表示上述兩個引數都設定
echo $HISTTIMEFORMAT # 歷史命令顯示的時間格式
echo $HISTIGNORE # 哪些命令不記錄到歷史記錄

參考

誰動了我的 Linux?原來 history 可以這麼強大!

相關文章