首頁 運維 linux運維 linux查看日誌的三種指令

linux查看日誌的三種指令

Jan 04, 2023 pm 02:00 PM
linux 紀錄

linux查看日誌的三種指令分別是:1、tail指令,該指令可以即時檢視檔案內容的變更以及日誌檔案;2、multitail指令,該指令可以同時監視多個日誌檔案;3 、less命令,該命令可以快速查看日誌的更改,並且不會使螢幕混亂。

linux查看日誌的三種指令

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux查看日誌的三種指令是什麼?

Linux 中即時查看日誌的3種方法

#最近我從cnaaa.com購買了雲端伺服器。

我們大家應該都知道如何在 Linux 中查看文件,例如可以使用 cat 或 less 指令。

這對於查看靜態檔案來說是可以的。日誌文件是動態的,其內容隨時會變化,要監測日誌文件,需要在日誌文件內容改變時也能即時看到。

那麼如何即時查看日誌檔呢? tail 指令是可以的,除此之外,還有其他的一些工具,本文將會介紹這些可以即時查看日誌檔案的工具。

1. 使用tail 指令查看日誌檔案

tail 指令使用非常廣泛,因此系統管理員經常使用口頭禪tail the log file(即:tail 日誌檔案) 。

大多數情況下,tail 指令用來查看文件末端的內容,因此才會命名為 tail。

使用 -f 選項可以追蹤文件末尾的內容,這表示它會持續顯示被新添加到文件中的內容。

tail -f location_of_log_file
登入後複製

[外鏈圖片轉存失敗,來源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nzCWCjye-1664183028850)(D:/img/640.png)]

要停止追蹤日誌文件,可以使用ctrl c 快捷鍵。

tailgrep

如上所述,tail 指令可以即時查看檔案內容的變化。但是,當文件內容更新特別快速的時候,剛剛更新的內容一閃而過,這種情況下,查看起來就不那麼方便了。

例如,我們在追蹤日誌檔案的時候,經常會監視某個特定的術語(字串),在快速更新的大量內容中跟踪,非常不方便。

為了解決這個問題,我們可以將 tail 和 grep 指令結合使用。如下所示:

tail -f log_file | grep search_term
登入後複製

[外鏈圖片轉存失敗,來源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LxXIylsU-1664183028854)(D:/img/640-1664179747239 -1.png)]

這樣看起來就好多了,對吧?在這個基礎上,我們再來做改進。

使用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),即當日誌檔案達到一定大小後,就會重新命名並壓縮。

[外鏈圖片轉存失敗,來源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-h2RUcofL-1664183028856)(D:/img/640-1664179747241-2.png) ]

如果即時追蹤日誌文件,則會產生問題。預設情況下,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
登入後複製

上述命令,你將會即時看到日誌檔案的更新,並且在前面會帶有檔案名,以區分不同的日誌檔案:

[外鏈圖片轉存失敗,來源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CMiWKszs-1664183028859)(D:/img/640-1664179747242-3.png)]

除了上述方法,還有另外一種更方便的方式,就是使用一個名為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行,然后进入实时监视视图;另外,它按行来拆分视图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZ9iX4d3-1664183028861)(D:/img/640-1664179747242-4.png)]

你可以按 b 键打开一个文件选择窗口,选择某个日志文件查看,以做进一步分析。

分割视图使用 -s 选项,后面跟一个数字,即视图的数量:

multitail -s 2 log_file_1 log_file_2
登入後複製

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ETQjV0KA-1664183028863)(D:/img/640-1664179747243-5.png)]

按 q 键可退出 multitail 所有的视图。

multitail 可以做的还有很多,大家感兴趣可以查看一下它的官方文档,本文就不继续介绍了。

3. 使用 less 命令实时查看日志文件

less 命令多用于读取文本文件,也可用于读取实时被更改的文件。

选项 +F 可以实时跟踪文件的更改:

less +F log_file
登入後複製

上述命令会打开日志文件,并实时显示正在写入的更改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDZivgss-1664183028865)(D:/img/640-1664179747243-6.png)]

按 ctrl +c 中断显示,按 q 会退出视图。

与 tail 命令不同,此方法可以让我们快速查看日志的更改,而不会使屏幕混乱。

上述监视日志的方法适用于传统的基于文本的日志文件。对于系统日志,可以使用 syslogs,但是现在许多 Linux 发行版已经开始使用 journal 日志来查看和分析日志,所以需要使用 journalctl 命令。

推荐学习:《Linux视频教程

以上是linux查看日誌的三種指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode 無法安裝擴展 vscode 無法安裝擴展 Apr 15, 2025 pm 07:18 PM

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode 可以用於 mac 嗎 vscode 可以用於 mac 嗎 Apr 15, 2025 pm 07:36 PM

VS Code 可以在 Mac 上使用。它具有強大的擴展功能、Git 集成、終端和調試器,同時還提供了豐富的設置選項。但是,對於特別大型項目或專業性較強的開發,VS Code 可能會有性能或功能限制。

vscode是什麼 vscode是乾什麼用的 vscode是什麼 vscode是乾什麼用的 Apr 15, 2025 pm 06:45 PM

VS Code 全稱 Visual Studio Code,是一個由微軟開發的免費開源跨平台代碼編輯器和開發環境。它支持廣泛的編程語言,提供語法高亮、代碼自動補全、代碼片段和智能提示等功能以提高開發效率。通過豐富的擴展生態系統,用戶可以針對特定需求和語言添加擴展程序,例如調試器、代碼格式化工具和 Git 集成。 VS Code 還包含直觀的調試器,有助於快速查找和解決代碼中的 bug。

VSCode怎麼用 VSCode怎麼用 Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCode) 是一款跨平台、開源且免費的代碼編輯器,由微軟開發。它以輕量、可擴展性和對眾多編程語言的支持而著稱。要安裝 VSCode,請訪問官方網站下載並運行安裝程序。使用 VSCode 時,可以創建新項目、編輯代碼、調試代碼、導航項目、擴展 VSCode 和管理設置。 VSCode 適用於 Windows、macOS 和 Linux,支持多種編程語言,並通過 Marketplace 提供各種擴展。它的優勢包括輕量、可擴展性、廣泛的語言支持、豐富的功能和版

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

See all articles