首頁 運維 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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

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

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

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

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

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

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

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

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

See all articles