歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 從命令行如何查看Linux日志

從命令行如何查看Linux日志

日期:2017/2/28 13:45:56   编辑:Linux教程

你的系統上出現問題時,要做的頭一件事就是查看日志。本文作者介紹了在Linux下查看日志的具體方法。

在你作為Linux管理員的職業生涯中,應該早晚都會查看日志文件。因為日志文件可以幫助你排查問題,每個經驗豐富的管理員在出現問題後,要做的頭一件事就是查看日志。

你會發現許多日志:系統日志、內核日志、軟件包管理器日志、Xorg日志、啟動進程日志、Apache日志、MySQL日志… 你能想到的幾乎任何系統都有相應的日志文件。

大多數日志文件位於一個便利的位置:/var/log。這些都是系統和服務日志,你的操作系統或某一項重要服務出現問題時,會高度依賴這些日志。如果是針對特定桌面應用程序的問題,日志文件會被寫入到不同的位置(比如Thunderbird把崩潰報告寫入到 ‘~/.thunderbird/Crash Reports’)。桌面應用程序把日志寫入到何處取決於開發人員,以及應用程序是否允許自定義日志配置。

我們會著重介紹系統日志,因為這是Linux故障排查的核心所在。而這裡的一個關鍵問題是,你如何查看那些日志文件?

幸好,你有眾多方法可以查看系統日志,它們都只要從命令行來執行即可。

  1. /var/log

這是Linux系統上一個至關重要的文件夾。打開終端窗口,執行命令cd /var/log。現在執行命令ls,你就會看到位於該目錄下面的日志(見圖1)。

圖1:列出了位於/var/log/下的日志文件

現在,不妨看一看其中一個日志。

使用less查看日志

/var/log裡面包含有最重要的日志之一是syslog。這個特殊的日志文件記錄下了除驗證相關消息之外的一切信息。假設你想查看這一個日志文件的內容,可以迅速執行命令less /var/log/syslog。這個命令會打開syslog日志文件,顯示文件首部。然後,你可以使用箭頭鍵每次向下滾動一行,使用空格鍵每次向下滾動一頁,或者使用鼠標輪,輕松滾動浏覽文件。

這種方法有一個問題,那就是syslog會變得相當龐大;另外,考慮到你要找的信息極有可能在底部或靠近底部,你可能不想把時間耗費在每次逐行或逐頁滾動進入到尾部,由於在less命令中syslog已打開,你還可以按[Shift]+[g]組合鍵,立即進入到日志文件的尾部。尾部會標以(END)。然後,你可以用箭頭鍵或滾動輪向上滾動,找到你想要的具體信息。

當然,這不是很高效。

使用dmesg查看日志

dmesg命令輸出內核環緩沖區。默認情況下,該命令會顯示來自內核環緩沖區的所有信息。從終端窗口,執行命令dmesg,整個內核環緩沖區的內容就會輸出顯示(見圖2)。

圖2:USB外部驅動器顯示了需要研究的一個問題

幸好,有一種內置的控制機制讓你得以僅僅輸出某些程序模塊(facility,比如守護進程)。

假設你想查看用戶程序模塊的日志項,可執行命令dmesg --facility=user。要是有什麼信息記錄到該工具,它會輸出結果。

不像less命令,執行dmesg會顯示日志的全部內容,並讓你進入到文件尾部。你始終可以使用滾動輪來浏覽終端窗口的緩沖區(如果適用的話)。相反,你會想要把dmesg的輸出通過管道命令輸入到less命令,就像這樣:

  1. dmesg | less

上述命令會輸出dmesg的內容,讓你可以滾動浏覽輸出,就像使用less命令查看標准日志那樣。

使用tail查看日志

tail命令可能是用於查看日志文件的最方便的工具之一。tail的功能就是輸出文件的尾部內容。所以,如果你執行命令tail /var/log/syslog,它只會輸出syslog文件的尾部幾行。

但是等一下,好玩的並不僅限於此。tail命令有一個很重要的技巧,這需要借助使用-f選項。如果你執行命令tail -f /var/log/syslog,tail會繼續監視日志文件,輸出寫入到文件的下一行。這意味著你可以在終端窗口裡面實時關注什麼寫入到syslog(見圖3)。

圖3:使用tail命令,關注/var/log/syslog

以這種方式使用tail對於排查問題大有幫助。

在關注文件時想退出tail命令,只需按 [Ctrl]+[x]組合鍵。

你還可以指示tail只關注某幾行。假設你只想查看寫入到syslog的尾部5行;為此,你可以執行這個命令:

  1. tail -f -n 5 /var/log/syslog

上述命令會關注syslog的輸入,只輸出最近的5行。一旦有新的行寫入到syslog,它會將最早的那一行從首部刪除。這是讓關注日志文件這個過程更容易的一種好方法。我強烈建議別使用這種方法來查看少於四五行的日志,因為你最後會發現輸入被截斷,無法獲得某項的全部細節。

還有其他工具

你會找到其他命令(甚至幾個還不錯的GUI工具)以便查看日志文件。預計more、grep、head、cat、multitail和系統日志查看器(System Log Viewer)可以幫助你通過日志文件來排查系統問題。

原文標題:Viewing Linux Logs from the Command Line,作者:Jack Wallen

Copyright © Linux教程網 All Rights Reserved