Categories: Linux

Linux 查詢指令執行記錄 history 指令教學與範例

介紹如何在 Linux 中查詢過去執行過的指令以及執行的時間。

指令歷史記錄

在 Linux 中我們可以使用 history 指令查詢過去執行的指令歷史記錄:

# 查詢指令歷史記錄
history
  982  ls
  983  rm ar1.zip ar2.zip
  984  ls
  985  R
  986  man zipsplit
  987  man zipnote
  988  ls
  989  man unzip
  990  exit
  991  cd tmp/SAS/
[略]

僅顯示最近 N 筆指令歷史記錄

如果只要顯示最近執行過的幾筆歷史記錄,可以在執行 history 指令時加上一個數值的參數,指定要顯示的指令歷史記錄筆數:

# 顯示最近 5 筆指令歷史記錄
history 5
 1931  ls
 1932  cd sn
 1933  ls
 1934  cd sonarqube-8.8.0.42792/
 1935  ls

清除指令歷史記錄

若要清除過去的所有指令歷史記錄,可以使用 -c 參數:

# 清除指令歷史記錄
history -c

若要清除指定的指令記錄,可以使用 -d 參數並指定指令記錄的位置編號,例如清除編號 987 的指令記錄則可執行:

# 清除編號 987 的指令記錄
history -d 987

顯示指令執行日期與時間點

若要顯示每條指令執行的時間點,可以設定 HISTTIMEFORMAT 變數,指令時間與日期的格式(格式可參考 date 指令的說明):

# 顯示指令執行時間點
HISTTIMEFORMAT="%Y/%m/%d %T " history
  983  2021/04/28 19:29:29 rm ar1.zip ar2.zip
  984  2021/04/28 19:29:29 ls
  985  2021/04/28 19:29:29 R
  986  2021/04/28 19:29:29 man zipsplit
  987  2021/04/28 19:29:29 man zipnote
  988  2021/04/28 19:29:29 ls
  989  2021/04/28 19:29:29 man unzip
  990  2021/04/28 19:29:29 exit
  991  2021/04/28 19:29:29 cd tmp/SAS/
  992  2021/04/28 19:29:29 ls
[略]

使用另外一種日期格式:

# 顯示指令執行日期
HISTTIMEFORMAT="%F " history
  988  2021-04-28 ls
  989  2021-04-28 man unzip
  990  2021-04-28 exit
  991  2021-04-28 cd tmp/SAS/
  992  2021-04-28 ls
  993  2021-04-28 vi archive_list.csv
  994  2021-04-28 head archive_list.csv
  995  2021-04-28 cd tmp/SAS
  996  2021-04-28 ls
  997  2021-04-28 exit
[略]

查詢特定指令上次執行時間點

若要查詢特定指令的執行記錄,只要搭配 grep 篩選指令名稱即可:

# 顯示 apt 指令執行時間點
HISTTIMEFORMAT="%F %T " history | grep apt
 1067  2021-04-28 19:29:29 apt update -qq
 1260  2021-04-28 19:29:29 apt update
 1375  2021-04-28 19:29:29 sudo apt install finger
 1436  2021-04-28 19:29:29 sudo apt install socat
 1794  2021-04-28 19:29:29 sudo apt install whois

參考資料

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago