如何在Linux中即時查看日誌檔案的內容?那麼有很多實用程式可以幫助使用者在文件更改或不斷更新時輸出文件的內容。在Linux中即時顯示文件內容的常用指令是tail指令(有效地管理文件)。
1. tail指令 - 即時監控日誌
如上所述,tail指令是即時顯示日誌檔案最常用的解決方案。但是,顯示該文件的命令有兩個版本,如下面的範例所示。
在第一個範例中,指令tail
需要-f
參數來追蹤檔案的內容。
$ sudo tail -f /var/log/apache2/access.log
即時監控Apache日誌
該指令的第二個版本其實就是一個指令本身:tailf
。你不需要使用該-f
開關,因為該指令是與-f
參數內建的。
$ sudo tailf /var/log/apache2/access.log
即時Apache日誌監控
通常,logrotate實用程式會在Linux伺服器上頻繁地輪換日誌文件。要查看每日基礎上輪換的日誌文件,可以使用tail -F
命令。
tail -F
將追蹤正在建立的新日誌文件,並開始追蹤新文件而不是舊文件。
$ sudo tail -f /var/log/apache2/access.log
但是,預設情況下,tail指令將顯示檔案的最後10行。例如,如果你只想即時查看日誌文件的最後兩行,請使用-n
與該-f
標誌結合的文件,如下例所示。
$ sudo tail -n2 -f /var/log/apache2/access.log
查看最後兩行日誌
#2.multitail指令- 即時監控多個日誌檔案
另一個有趣的即時顯示日誌檔案的命令是multitail
命令。該命令的名稱意味著multitail
實用程式可以即時監視和追蹤多個檔案。 Multitail還允許你在受監視的檔案中來回導航。
要在基於Debian和RedHat的系統中安裝mulitail實用程序,請發出以下命令。
$ sudo apt install multitail [On Debian&Ubuntu] $ sudo yum install multitail [On RedHat&CentOS] $ sudo dnf install multitail [On Fedora 22+ version]
要同時顯示兩個日誌檔案的輸出,請執行下列範例中所示的命令。
$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
多點監控日誌
#3. lnav指令- 即時監控多個日誌檔案
另一個有趣的命令,類似於multitail命令,是lnav命令。 Lnav實用程式還可以觀看和追蹤多個文件並即時顯示其內容。
透過發出以下命令在基於Debian和RedHat的Linux發行版中安裝lnav實用程式。
$ sudo apt install lnav [On Debian&Ubuntu] $ sudo yum install lnav [On RedHat&CentOS] $ sudo dnf install lnav [On Fedora 22+ version]
透過發出指令同時觀察兩個日誌檔案的內容,如下例所示。
$ sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log
lnav - 即時日誌監控
#4. less指令- 顯示日誌檔案的即時輸出
最後,如果鍵入,則可以使用less命令顯示檔案的即時輸出Shift F
。
與tail實用程式一樣,Shift F
在開啟的檔案中按下less
將在檔案結束後開始。或者,你也可以用較少的 F
旗幟開始進入現場觀看文件。
$ sudo less + F /var/log/apache2/access.log
使用less指令監視日誌
以上是Linux實時查看日誌的四個命令詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!