您好,登錄后才能下訂單哦!
這篇文章主要講解了“linux怎么查看日志”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“linux怎么查看日志”吧!
linux查看日志的三種命令分別是:1、tail命令,該命令可以實時查看文件內容的變以及日志文件;2、multitail命令,該命令可以同時監視多個日志文件;3、less命令,該命令可以快速查看日志的更改,并且不會使屏幕混亂。
Linux 中實時查看日志的3種方法
最近我從cnaaa.com購買了云服務器。
我們大家應該都知道如何在 Linux 中查看文件,比如可以使用 cat 或者 less 命令。
這對于查看靜態文件來說是可以的。日志文件是動態的,其內容隨時會變化,要監測日志文件,需要在日志文件內容改變時也能實時看到。
1. 使用 tail 命令查看日志文件
tail 命令使用非常廣泛,因此系統管理員經常使用口頭禪 tail the log file(即:tail 日志文件)。
大多數情況下,tail 命令用于查看文件末尾的內容,因此才會被命名為 tail。
使用 -f 選項可以跟蹤文件末尾的內容,這表示它會持續顯示被新添加到文件中的內容。
tail -f location_of_log_file
要停止跟蹤日志文件,可以使用 ctrl +c 快捷鍵。
tail
和 grep
如上所述,tail 命令可以實時查看文件內容的變化。但是,當文件內容更新特別快速的時候,剛剛更新的內容一閃而過,這種情況下,查看起來就不那么方便了。
比如,我們在跟蹤日志文件的時候,經常會監視某個特定的術語(字符串),在快速更新的大量內容中跟蹤,非常不方便。
為了解決這個問題,我們可以將 tail 和 grep 命令結合起來使用。如下所示:
tail -f log_file | grep search_term
這樣看起來就好多了,對吧?在這個基礎上,我們再來做一下改進。
使用 grep 展示搜索詞,顯示的信息比較有限,它只顯示檢索結果,因此我們經常使用 -C 選項來顯示檢索結果的前后幾行:
tail -f log_file | grep -C 3 search_term
這樣,我們就能看到檢索結果相關的前后幾行信息,可以更好的跟蹤日志信息。
還想再改進一些嗎?可以對多個搜索項使用 grep,然后不區分大小寫:
tail -f log_file | grep -C 3 -i - E 'search_term_1|search_term_2'
使用日志輪轉(log rotation)跟蹤日志
大多數企業服務器,日志都會輪轉(rotation),即當日志文件達到一定大小后,就會重命名并壓縮。
如果實時跟蹤日志文件,則會產生問題。默認情況下,tail 命令用于文件描述符。如果當前日志文件被旋轉,tail 命令現在將指向一個存檔日志文件,該文件現在不會記錄任何更改。
解決方案是按照日志文件的名稱跟蹤日志文件。這樣,即使發生日志旋轉,尾部也將指向當前日志文件(因為其名稱從未更改)。
tail --follow=name log_file | grep -C 3 -i - E 'search_term_1|search_term_2'
tail 非常適合實時監控日志文件,但上述方法只監控一個日志文件。如果要監控多個日志文件該怎么辦呢?請看下一節。
使用 tail 查看多個日志文件
在 Linux 系統中工作,可以使用 tail 命令同時監視多個日志文件,只需要提供文件的路徑:
tail -f log_file_1 -f log_file_2
上述命令,你將會實時看到日志文件的更新,并且在前面會帶有文件名,以區分不同的日志文件:
除了上述方法,還有另外一種更方便的方式,就是使用一個名為 multitail 的工具。
2. 使用 multitail 同時監視多個日志文件
顧名思義,multitail 用于同時顯示多個文件。
既然 tail 可以同時監視多個文件,那么 multitail 有什么特別的地方呢?
multitail 的優點在于,它可以在拆分視圖中顯示文件,甚至可以在不同的行和列中顯示不同的文件。
tail 在同一視圖中顯示所有內容,所以有時候很難跟蹤,multitail 通過提供類似 screen 命令的分割視圖來克服了這一困難。
注意,multitail 在大多數Linux系統中沒有被默認安裝,所以在使用前需要先手動安裝。
在 multitail 命令后跟文件路徑,最好一次不要超過3個,因為超過3個或以上,跟蹤起來就比較困難了。
multitail log_file_1 log_file_2
默認情況下,multitail 的工作方式與 tail -f 相同,它顯示最后100行,然后進入實時監視視圖;另外,它按行來拆分視圖。
你可以按 b 鍵打開一個文件選擇窗口,選擇某個日志文件查看,以做進一步分析。
分割視圖使用 -s 選項,后面跟一個數字,即視圖的數量:
multitail -s 2 log_file_1 log_file_2
按 q 鍵可退出 multitail 所有的視圖。
3. 使用 less 命令實時查看日志文件
less 命令多用于讀取文本文件,也可用于讀取實時被更改的文件。
選項 +F 可以實時跟蹤文件的更改:
less +F log_file
上述命令會打開日志文件,并實時顯示正在寫入的更改:
按 ctrl +c 中斷顯示,按 q 會退出視圖。
與 tail 命令不同,此方法可以讓我們快速查看日志的更改,而不會使屏幕混亂。
上述監視日志的方法適用于傳統的基于文本的日志文件。對于系統日志,可以使用 syslogs,但是現在許多 Linux 發行版已經開始使用 journal 日志來查看和分析日志,所以需要使用 journalctl 命令。
感謝各位的閱讀,以上就是“linux怎么查看日志”的內容了,經過本文的學習后,相信大家對linux怎么查看日志這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。