在Linux中,要查看歷史命令列表以訪問之前的內容,你可以使用history
命令。這個命令會顯示你當前shell會話(或者,如果你指定了參數,可能是所有會話)中執行過的命令列表。
基本用法
- 簡單地輸入
history
并按下回車鍵,將會顯示當前shell會話中執行過的命令列表。
- 你可以通過管道(
|
)將history
命令的輸出傳遞給其他命令,比如less
或grep
,來進行搜索或分頁查看。
| history | less |
| # 或者 |
| history | grep "某個關鍵詞" |
使用選項
-c
?選項用于清除當前shell會話的歷史記錄。注意,這不會刪除已經保存在歷史文件中的記錄(如果shell配置為保存歷史記錄到文件的話)。
-d OFFSET
?選項用于刪除歷史列表中指定偏移量(從0開始計數)的命令。
| history -d 100 |
| # 這會刪除歷史列表中第101條命令(因為計數是從0開始的) |
-n
?選項用于從指定的歷史文件中讀取新的命令并追加到歷史列表中。這在你重啟了shell會話但想保留之前的命令歷史時很有用。
-r
?選項用于從歷史文件中讀取整個歷史列表,覆蓋當前的歷史列表。這在你意外清除了當前會話的歷史記錄,但想從文件中恢復時很有用。
-w
?選項用于將當前的歷史列表寫入到歷史文件中。這在你想要確保所有最近的命令都被保存到文件中時很有用。
注意
- 歷史命令的保存和讀取行為可能會受到你的shell配置(比如bash的
~/.bash_history
文件和HISTFILE
、HISTSIZE
、HISTFILESIZE
等環境變量)的影響。 - 默認情況下,
history
命令可能不會顯示時間戳。如果你希望顯示時間戳,可以在你的shell配置文件中(比如~/.bashrc
對于bash用戶)設置HISTTIMEFORMAT
環境變量。例如:
| export HISTTIMEFORMAT="%F %T " |
這會將時間戳設置為“年-月-日 時:分:秒”的格式。然后,當你運行history
命令時,每條命令旁邊都會顯示執行的時間。