您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux查看系統日志的命令”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Linux 系統中有很多重要的日志文件,這些文件可以保存很多訪問 Linux的日志記錄,這些日志大多存放在/var/log目錄下和/run目錄下,但是這些日志中,有些并不能使用cat,vi,more等命令打開,而是需要用到一些特殊的命令,這里簡單做介紹。
Linux 日志文件說明
/var/log/message 系統啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 與安全相關的日志信息
/var/log/maillog 與郵件相關的日志信息
/var/log/cron 與定時任務相關的日志信息
/var/log/spooler 與UUCP和news設備相關的日志信息
/var/log/boot.log 守護進程啟動和停止相關的日志消息
/var/log/wtmp 該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件
一、w命令
w命令用于顯示目前登入系統的用戶信息。
執行這項指令可得知目前登入系統的用戶有哪些人,以及他們正在執行的程序。
單獨執行 w 指令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。
語法:w [-fhlsuV] [用戶名稱]
參數說明:
-f 開啟或關閉顯示用戶從何處登入系統。
-h 不顯示各欄位的標題信息列。
-l 使用詳細格式列表,此為預設值。
-s 使用簡潔格式列表,不顯示用戶登入時間,終端機階段作業和程序所耗費的CPU時間。
-u 忽略執行程序的名稱,以及該程序耗費CPU時間的信息。
-V 顯示版本信息。
實例:
1、1、顯示目前登入系統的所有用戶信息,不加任何參數
第一行信息輸出內容和使用uptime命令輸出一樣,它包含的列信息說明如下:
12:30:08- 當前系統時間.
up 2:14 - 系統運行時長.
3 users - 登錄用戶數.
load average: 0.00, 0.01, 0.05 - 系統過去1,5,15分鐘的平均負載信息。平均系統負載是對當前正在運行或正在等待磁盤I/O的作業數的度量。 它基本上告訴您系統在給定間隔內的繁忙程度。
第二行信息包括如下字段說明:
USER – 登錄用戶名.
TTY – 登錄用戶使用的終端名.
FROM –登錄用戶來源的主機名或IP地址.
LOGIN@ – 用戶登錄時長.
IDLE – 自用戶上一次與終端進行交互以來的空閑時間.
JCPU – 附加到tty的所有進程使用的時間.
PCPU –用戶當前進程所用的時間。 顯示在“ WHAT”字段中的那個.
WHAT – 用戶當前的進程及選項/參數。
2、顯示某個用戶,目前登入系統的信息,則輸出將限于給定的用戶
二、who命令
who命令用于顯示系統中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機、從哪邊連上來的、上線時間、呆滯時間、CPU 使用量、動作等等。
使用權限:所有使用者都可使用。
語法:who - [husfV] [user]
參數說明:
-H 或 --heading:顯示各欄位的標題信息列;
-i 或 -u 或 --idle:顯示閑置時間,若該用戶在前一分鐘之內有進行任何動作,將標示成"."號,如果該用戶已超過24小時沒有任何動作,則標示出"old"字符串;
-m:此參數的效果和指定"am i"字符串相同;
-q 或--count:只顯示登入系統的帳號名稱和總人數;
-s:此參數將忽略不予處理,僅負責解決who指令其他版本的兼容性問題;
-w 或-T或--mesg或--message或--writable:顯示用戶的信息狀態欄;
實例:
1、顯示當前登錄系統的用戶
[root@centos7 ~]# who
root tty1 2020-01-11 10:15
root pts/0 2020-01-11 10:16 (192.168.198.1)
lisi pts/1 2020-01-11 12:30 (192.168.198.1)
2、只顯示當前用戶
[root@centos7 ~]# who -m -H
名稱 線路 時間 備注
root pts/0 2020-01-11 10:16 (192.168.198.1)
[root@centos7 ~]# whoami
root
輸入whoami 顯示自己的登錄的用戶名。
三、last命令
last命令用于顯示近期用戶或終端的登錄情況。通過last命令查看該程序的log,管理員可以獲知誰曾經或者企圖連接系統。
執行last命令時,它會讀取/var/log目錄下名稱為wtmp的文件,并把該文件記錄的登錄系統或終端的用戶名單全部顯示出來。默認顯示wtmp的記錄,btmp能顯示的更詳細,可以顯示遠程登錄,例如ssh登錄。
語法:last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-adioxFw] [username..] [tty..]
-num |-n num 指定輸出記錄的條數
-f file 指定記錄文件作為查詢的log文件
-t YYYYMMDDHHMMSS 顯示指定時間之前的登錄情況
username 賬戶名稱
tty 終端機編號
選項:
-R 不顯示登錄系統或終端的主機名稱或IP
-a 將登錄系統或終端的主機名過IP地址顯示在最后一行
-d 將IP地址轉成主機名稱
-I 顯示特定IP登錄情況。
-o 讀取有linux-libc5應用編寫的舊類型wtmp文件
-x 顯示系統關閉、用戶登錄和退出的歷史
-F 顯示登錄的完整時間
-w 在輸出中顯示完整的用戶名或域名
實例:
第一列:用戶名
第二列:終端位置(pts/0偽終端,意味著從SSH或telnet等工具遠程連接的用戶,圖形界面終端歸于此類。tty0直接連接到計算機或本地連接的用戶。后面的數字代表連接編號)
第三列:登錄IP或內核(如果是:0.0或者什么都沒有,意味著用戶通過本地終端連接。除了重啟活動,內核版本會顯示在狀態中)
第四列:開始時間
第五列:結束時間(still login in尚未退出,down直到正常關機,crash直到強制關機)
第六列:持續時間
1、指定顯示記錄的數量(顯示記錄中最后登錄的數量)
[root@centos7 ~]# last -n 10
lisi pts/1 192.168.198.1 Sat Jan 11 12:30 still logged in
root pts/0 192.168.198.1 Sat Jan 11 10:16 still logged in
root tty1 Sat Jan 11 10:15 still logged in
reboot system boot 3.10.0-957.el7.x Sat Jan 11 10:15 - 12:53 (02:37)
root pts/1 192.168.198.1 Fri Jan 10 22:08 - 23:24 (01:15)
root pts/0 192.168.198.1 Fri Jan 10 14:07 - crash (20:07)
root tty1 Fri Jan 10 14:07 - 23:24 (09:17)
reboot system boot 3.10.0-957.el7.x Fri Jan 10 14:07 - 12:53 (22:46)
root pts/0 192.168.198.1 Tue Jan 7 20:33 - down (02:38)
root pts/1 192.168.198.1 Tue Jan 7 18:44 - 20:56 (02:11)
wtmp begins Sun Dec 1 20:35:35 2019
2、指定查詢的文件,原本默認的是wtmp
[root@centos7 ~]# last -10 -f /var/log/btmp
root tty1 Sat Jan 4 10:06 gone - no logout
root tty1 Fri Jan 3 15:35 - 10:06 (18:30)
root tty1 Fri Jan 3 15:18 - 15:35 (00:17)
root tty1 Fri Jan 3 15:18 - 15:18 (00:00)
root ssh:notty 192.168.198.1 Fri Jan 3 15:18 gone - no logout
btmp begins Fri Jan 3 15:18:01 2020
3、顯示指定時間之前的記錄
[root@centos7 ~]# last -5 -t 20200111000000
root pts/1 192.168.198.1 Fri Jan 10 22:08 - 23:24 (01:15)
root pts/0 192.168.198.1 Fri Jan 10 14:07 gone - no logout
root tty1 Fri Jan 10 14:07 - 23:24 (09:17)
reboot system boot 3.10.0-957.el7.x Fri Jan 10 14:07 - 12:56 (22:49)
root pts/0 192.168.198.1 Tue Jan 7 20:33 - down (02:38)
wtmp begins Sun Dec 1 20:35:35 2019
四、lastlog 命令
lastlog命令用于顯示系統中所有用戶最近一次登錄信息。
lastlog文件在每次有用戶登錄時被查詢。可以使用lastlog命令檢查某特定用戶上次登錄的時間,并格式化輸出上次登錄日志/var/log/lastlog的內容。它根據UID排序顯示登錄名、端口號(tty)和上次登錄時間。如果一個用戶從未登錄過,lastlog顯示**Never logged**。
注意:需要以root身份運行該命令。
語法:lastlog(選項)
常用參數:
-b <天數>顯示指定天數前的登錄信息
-t <天數>顯示指定天數以來的登錄信息
-u <用戶名>顯示指定用戶的最近登錄信息
-h顯示召集令的幫助信息
實例:
1、顯示系統中所有用戶最近一次登錄信息
[root@centos7 ~]# lastlog
用戶名 端口 來自 最后登陸時間
root pts/0 192.168.198.1 六 1月 11 10:16:19 +0800 2020
bin **從未登錄過**
daemon **從未登錄過**
adm **從未登錄過**
lp **從未登錄過**
sync **從未登錄過**
shutdown **從未登錄過**
halt **從未登錄過**
mail **從未登錄過**
operator **從未登錄過**
games **從未登錄過**
ftp **從未登錄過**
nobody **從未登錄過**
systemd-network **從未登錄過**
dbus **從未登錄過**
polkitd **從未登錄過**
abrt **從未登錄過**
sshd **從未登錄過**
postfix **從未登錄過**
chrony **從未登錄過**
apache **從未登錄過**
lisi pts/1 192.168.198.1 六 1月 11 12:30:01 +0800 2020
2、顯示指定天數以來的登錄信息
[root@centos7 ~]# lastlog -t 3
用戶名 端口 來自 最后登陸時間
root pts/0 192.168.198.1 六 1月 11 10:16:19 +0800 2020
lisi pts/1 192.168.198.1 六 1月 11 12:30:01 +0800 2020
3、顯示指定用戶的最近登錄信息
[root@centos7 ~]# lastlog -u lisi
用戶名 端口 來自 最后登陸時間
lisi pts/1 192.168.198.1 六 1月 11 12:30:01 +0800 2020
五、lastb 命令
lastb命令用于列出登入系統失敗的用戶相關信息。
單獨執行lastb指令,它會讀取位于/var/log目錄下,名稱為btmp的文件,并把該文件內容記錄的登入失敗的用戶名單,全部顯示出來。
語法:lastb [-adRx][-f <記錄文件>][-n <顯示列數>][帳號名稱...][終端機編號...]
參數說明:
-a 把從何處登入系統的主機名稱或IP地址顯示在最后一行。
-d 將IP地址轉換成主機名稱。
-f<記錄文件> 指定記錄文件。
-n<顯示列數>或-<顯示列數> 設置列出名單的顯示列數。
-R 不顯示登入系統的主機名稱或IP地址。
-x 顯示系統關機,重新開機,以及執行等級的改變等信息。
實例:
1、顯示登錄失敗的用戶
[root@centos7 ~]# lastb
root tty1 Sat Jan 4 10:06 - 10:06 (00:00)
root tty1 Fri Jan 3 15:35 - 15:35 (00:00)
root tty1 Fri Jan 3 15:18 - 15:18 (00:00)
root tty1 Fri Jan 3 15:18 - 15:18 (00:00)
root ssh:notty 192.168.198.1 Fri Jan 3 15:18 - 15:18 (00:00)
btmp begins Fri Jan 3 15:18:01 2020
站在前輩的肩膀上,每天進步一點點
ends~
“Linux查看系統日志的命令”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。