Linux實時查看日誌的四種命令詳解

如何在Linux中實時查看日誌文件的內容?那麼有很多實用程序可以幫助用戶在文件更改或不斷更新時輸出文件的內容。在Linux中實時顯示文件內容的常用命令是tail命令(有效地管理文件)。

 

1. tail命令 - 實時監控日誌

如上所述,tail命令是實時顯示日誌文件的最常用解決方案。但是,顯示該文件的命令有兩個版本,如下面的示例所示。

在第一個示例中,命令tail需要-f參數來跟蹤文件的內容。

1

$ sudo tail -f /var/log/apache2/access.log

83aa50019f8e0bdb84a50b71394a6e5.png

實時監控Apache日誌

該命令的第二個版本實際上是一個命令本身:tailf。你不需要使用該-f開關,因爲該命令是與-f參數一起內置的。

1

$ sudo tailf /var/log/apache2/access.log

 

41d88c9c0f722fa220a91f6e39e2830.png

實時Apache日誌監控

通常,logrotate實用程序會在Linux服務器上頻繁地輪換日誌文件。要查看每日基礎上輪換的日誌文件,可以使用tail -F命令。

tail -F將跟蹤正在創建的新日誌文件,並開始跟蹤新文件而不是舊文件。

1

$ sudo tail -F /var/log/apache2/access.log

但是,默認情況下,tail命令將顯示文件的最後10行。例如,如果你只想實時查看日誌文件的最後兩行,請使用-n與該-f標誌結合的文件,如下例所示。

1

$ sudo tail -n2 -f /var/log/apache2/access.log

5bfd02bd23fad6e4677c6b2dbfb5bd6.png

查看最後兩行日誌

2.multitail命令 - 實時監控多個日誌文件

另一個有趣的實時顯示日誌文件的命令是multitail命令。該命令的名稱意味着multitail實用程序可以實時監視和跟蹤多個文件。Multitail還允許你在受監視的文件中來回導航。

要在基於Debian和RedHat的系統中安裝mulitail實用程序,請發出以下命令。

1

2

3

$ sudo apt install multitail [On Debian&Ubuntu]

$ sudo yum install multitail [On RedHat&CentOS]

$ sudo dnf install multitail [On Fedora 22+ version]

要同時顯示兩個日誌文件的輸出,請執行以下示例中所示的命令。

1

$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

e57af264bfd7c56ff411bd3222f31df.png

多點監控日誌

3. lnav命令 - 實時監控多個日誌文件

另一個有趣的命令,類似於multitail命令,是lnav命令。Lnav實用程序還可以觀看和跟蹤多個文件並實時顯示其內容。

通過發出以下命令在基於Debian和RedHat的Linux發行版中安裝lnav實用程序。

1

2

3

$ sudo apt install lnav [On Debian&Ubuntu]

$ sudo yum install lnav [On RedHat&CentOS]

$ sudo dnf install lnav [On Fedora 22+ version]

通過發出命令同時觀察兩個日誌文件的內容,如下例所示。

1

$ sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

c90df06c510790a59cbf892b850e89b.png

lnav - 實時日誌監控

4. less命令 - 顯示日誌文件的實時輸出

最後,如果鍵入,則可以使用less命令顯示文件的實時輸出Shift+F

與tail實用程序一樣,Shift+F在打開的文件中按下less將在文件結束後開始。或者,你也可以用較少的+F旗幟開始進入現場觀看文件。

1

$ sudo less + F /var/log/apache2/access.log

1b2327c3d6726711f551f657415d87a.png

使用less命令監視日誌

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章