Linux服務器中的歷史記錄命令用于在終端上查看以前執行的命令,它將顯示一個命令列表,每個命令旁邊都有一個”id”。它將顯示一個命令列表,每個命令旁邊有一個”id”。
歷史上運行過的命令被Linux shell存儲在一個專用文件中。
$ history
為每個命令設置歷史日期和時間
歷史記錄命令還可以存儲執行命令的日期和時間,不過,默認情況下,并不顯示過去命令的執行時間。
要想讓歷史記錄也顯示日期,我們需要將shell中的全局變量HISTTIMEformat設置為合適的格式,可以使用export命令完成,如下所示。
$ export HISTTIMEformat=’%F %T’
$ history
現在,你可以用管道將上面的歷史命令輸出到’grep’中,以獲得在特定日期執行的命令的歷史記錄。
$ history | grep ‘2021-01-25’
同樣,你也可以過濾多個關鍵日期的輸出。
$ history | grep -E ‘2021-01-25|2021-01-23’
使用這種方式,你可以將日期指定為過去’N’天的模式,或者其他日期的組合,從而獲得所有這些日期的命令歷史。
例如,要獲取從最后三分之一到最后第五個日期的命令歷史,你可以使用。
$ history | grep -E ‘2021-01-23|2021-01-22|2021-01-21’
現在,當我們從命令行導出變量’HISTTIMEformat‘到shell profile時,它只被導出到該會話,也就是說,直到終端運行的時候,之后該變量就會從shell profile中刪除。
永久設置每個命令的歷史日期和時間
要將變量永久地添加到shell配置文件中,請在shell配置文件文件中添加export語句(在shell開始時運行的每條命令)。
例如,在’Bash’的情況下,運行下面的語句來永久導出這個變量。
$ export HISTTIMEFORMAT=’%F %t’ >> ~/.bash_profile
如果文件.bash_profile存在,操作符’>>’將把導出語句附加到文件中,否則,它將創建文件并寫入語句。
在本文中,我們學習了如何在Linux服務器中查看最近幾天的命令歷史記錄。關于歷史記錄命令的更多信息,請務必通過運行它的命令行手冊頁面($ man history)來查看。