🐧如何在Linux上的Bash歷史記錄中啟用時間戳


您可以使用history命令輕鬆地找到Linux中最近執行的命令列表,對嗎? 但是您怎麼知道命令何時運行? 您當然可以查看日誌。 但是,有一種更簡單的方法。 您只需在Linux的Bash歷史記錄中包括時間戳,就可以更輕鬆地查找在Linux上執行特定命令的時間。

如何在Linux上的Bash歷史記錄中啟用時間戳

Bash保留在終端中輸入命令的歷史記錄。

此命令列表保存在HOME目錄中的.bash_history文件中。

大多數Linux發行版默認都記住最後1000條命令。

我們可以使用命令歷史記錄來檢索最近執行的命令,如下所示:

$ history

輸出示例:

🐧如何在Linux上的Bash歷史記錄中啟用時間戳

從上面的輸出中可以看到,儘管history命令顯示了先前執行的命令的列表,但未顯示這些命令的執行時間。

要在Linux上的Bash歷史記錄中啟用時間戳記,您需要設置HISTTIMEFORMAT環境變量。

此變量用於顯示與歷史記錄中每個顯示記錄關聯的時間戳。

運行以下命令來設置HISTTIMEFORMAT環境變量:

$ export HISTTIMEFORMAT='%F %T '

此處,%F參數用於以YYYY-MM-DD(年-月-日)格式顯示日期。

%T選項用於以HH:MM:SS(小時-分鐘-秒)的格式顯示時間。

現在再次運行history命令,您將在每個命令之前看到一個時間戳:

🐧如何在Linux上的Bash歷史記錄中啟用時間戳

優秀! 現在,您可以輕鬆地找出在Linux系統上何時執行了特定命令。

如果要顯示最新的“ N”命令的時間戳,例如10,則將history命令的輸出通過管道傳遞到tail命令,例如:

$ history | tail -10

請注意,這隻會在為會話設置HISTTIMEFORMAT環境變量後為新的歷史記錄條目加上時間戳。

您還可以根據自己的喜好自定義日期格式,如以下命令所示:

$ export HISTTIMEFORMAT='%d/%m/%y %T '

例如,此環境變量以dd / mm / year格式顯示命令歷史記錄中的日期和時間。 20-11-27下午7:11:55

要使HISTTIMEFORMAT環境變量在系統重新引導後仍然存在,請編輯〜/ .bashrc文件:

$ nano ~/.bashrc

將以下行添加到末尾:

export HISTTIMEFORMAT='%F %T '

要麼

export HISTTIMEFORMAT='%d/%m/%y %T '

按CTRL + O保存文件,然後按CTRL + X退出。

運行以下命令以使更改立即生效:

$ source ~/.bashrc

系統將僅顯示當前用戶的時間戳。

要為系統上的所有用戶啟用Bash歷史記錄時間戳,請編輯/ etc / profile文件:

$ sudo nano /etc/profile

並添加到那裡:

export HISTTIMEFORMAT='%F %T '

要麼:

export HISTTIMEFORMAT='%d/%m/%y %T '

保存並關閉文件。

為使更改生效,請運行:

$ sudo source /etc/profile

有關更多信息,請參見手冊頁:

$ man bash

現在您知道了如何在Linux上的history命令的輸出中顯示日期和時間。

結論

如前所述,如果您曾經想查看系統上何時執行過命令,只需如上所述在bash history命令中包括時間戳記即可。

Sidebar