1. 程式人生 > 其它 >7 Linux 常用命令(六)系統記錄命令

7 Linux 常用命令(六)系統記錄命令

7 Linux 常用命令(六)系統記錄命令

系統中有一些重要的痕跡日誌檔案,如/var/log/wtmp、/var/run/utmp、/var/log/btmp、/var/log/lastlog等日誌檔案,如果你用vim開啟這些檔案,你會發現這些檔案是二進位制亂碼。

這是由於這些日誌中儲存的是系統的重要登入痕跡,包括某個使用者何時登入了系統,何時退出了系統,錯誤登入等重要的系統資訊。

這些資訊要是可以通過vim開啟,就能編輯,這樣痕跡資訊就不準確,所以這些重要的痕跡日誌,只能通過對應的命令來進行檢視。

7.1 w命令

w命令是顯示系統中正在登陸的使用者資訊的命令,這個命令檢視的痕跡日誌是/var/run/utmp。其基本資訊如下

  • 命令名稱:w

  • 英文原意:Show who is logged on and what they are doing.

  • 所在路徑:/usr/bin/w

  • 執行許可權:所有使用者

功能描述:顯示登入使用者,檢視其操作資訊等

[root@localhost ~]# w

示例:

[root@localhost ~]# w
09:54:24 up 5:53, 1 user, load average: 0.19, 0.27, 0.27
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.228.98.118 09:52 0.00s 0.01s 0.00s w

第一行資訊,內容如下:

內容說明
09:54:24 系統當前時間
up 5:53, 系統的執行時間,本機已經執行5小時53分鐘
1 user 當前登入了一個使用者
oad average: 0.19, 0.27, 0.27 統在之前1分鐘、5分鐘、15分鐘的平均負載。 如果CPU是單核的,則這個數值超過1就是高負載; 如果CPU是四核的,則這個數值超過4就是高負載 (這個平均負載完全是依據個人經驗來進行判斷的,一般認為不應該超過伺服器CPU的核數)

第二行資訊,內容如下:

內容說明
USER 當前登陸的使用者
TTY 登陸的終端: tty1-6:本地字元終端(alt+F1-6切換) tty7:本地圖形終端(ctrl+alt+F7切換,必須安裝啟動圖形介面) pts/0-255:遠端終端
FROM 登陸的IP地址,如果是本地終端,則是空
LOGIN@ 登陸時間
IDLE 使用者閒置時間
JCPU 所有的程序佔用的CPU時間
PCPU 當前程序佔用的CPU時間
WHAT 使用者正在進行的操作

7.2 who命令

who命令和w命令類似,用於檢視正在登陸的使用者,但是顯示的內容更加簡單,也是檢視/var/run/utmp日誌。

  • 命令名稱:who

  • 英文原意:Show who is logged on and what they are doing.

  • 所在路徑:/usr/bin/who

  • 執行許可權:所有使用者

功能描述:顯示登入使用者,檢視其操作資訊等

[root@localhost ~]# who

示例:

[root@localhost ~]# who
root pts/0 2021-06-03 09:52 (116.228.98.118)

7.3 last命令

last命令是檢視系統所有登陸過的使用者資訊的,包括正在登陸的使用者和之前登陸的使用者。這個命令檢視的是/var/log/wtmp痕跡日誌檔案。

命令名稱:last

英文原意:View the history information of all logged in users.

所在路徑:/usr/bin/last

執行許可權:所有使用者

功能描述:檢視系統所有登陸過的使用者歷史資訊

[root@localhost ~]# last

示例:

[root@localhost ~]# last
root pts/0 116.228.98.118 Thu Jun 3 09:52 still logged in
reboot system boot 3.10.0-1160.11.1 Thu Jun 3 04:00 - 10:09 (06:09)
reboot system boot 3.10.0-1160.11.1 Wed Jun 2 04:00 - 10:09 (1+06:09)
#系統重啟資訊記錄
root pts/0 116.228.98.118 Mon May 31 09:39 - 09:39 (00:00)
#使用者名稱 終端號 來源IP地址 登陸時間 - 退出時間

7.4 lastlog命令

lastlog命令是檢視系統中所有使用者最後一次的登陸時間的命令,他檢視的日誌是/var/log/lastlog檔案。

  • 命令名稱:lastlog

  • 英文原意:Check the last time a specific user logged in.

  • 所在路徑:/usr/bin/lastlog

  • 執行許可權:所有使用者

功能描述:檢查某特定使用者上次登入的時間

[root@localhost ~]# lastlog [選項]
選項:
-b<天數>:顯示指定天數前的登入資訊;
-h:顯示召集令的幫助資訊;
-t<天數>:顯示指定天數以來的登入資訊;
-u<使用者名稱>:顯示指定使用者的最近登入資訊。

示例:

[root@localhost ~]# lastlog
Username Port From Latest
root pts/0 116.228.98.118 Thu Jun 3 09:52:50 +0800 2021
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**

7.5 lastb命令

lastb命令是檢視錯誤登陸的資訊的,檢視的是/var/log/btmp痕跡日誌:

  • 命令名稱:lastb

  • 英文原意:View the information of wrong login.

  • 所在路徑:/usr/bin/lastb

  • 執行許可權:所有使用者

功能描述:檢視錯誤登陸的資訊

[root@localhost ~]# lastb

示例:

[root@localhost ~]# lastb
tomcat ssh:notty 95.111.236.177 Tue Jun 1 03:24 - 03:24 (00:00)
tomcat ssh:notty 95.111.236.177 Tue Jun 1 03:24 - 03:24 (00:00)
user ssh:notty 128.199.6.217 Tue Jun 1 03:24 - 03:24 (00:00)
user ssh:notty 128.199.6.217 Tue Jun 1 03:24 - 03:24 (00:00)
nominati ssh:notty 1.116.139.160 Tue Jun 1 03:24 - 03:24 (00:00)
nominati ssh:notty 1.116.139.160 Tue Jun 1 03:24 - 03:24 (00:00)
user ssh:notty 128.199.6.217 Tue Jun 1 03:23 - 03:23 (00:00)
user ssh:notty 128.199.6.217 Tue Jun 1 03:23 - 03:23 (00:00)
nominati ssh:notty 1.116.139.160 Tue Jun 1 03:23 - 03:23 (00:00)
nominati ssh:notty 1.116.139.160 Tue Jun 1 03:23 - 03:23 (00:00)
user ssh:notty 128.199.6.217 Tue Jun 1 03:23 - 03:23 (00:00)