Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux tail 指令完全指南:即時追蹤日誌、倒序顯示、多檔案監控

編輯:關於 Linux

tail 是運維、開發每天必用的「看尾巴」神器。本文系統整理 tail 的標準語法、核心參數 (-f、-n、-c、-r)、進階組合 (tailf、multitail、less +F),並給出日誌分析、多檔監控、腳本整合的實戰範例。

tail 指令示意圖

基本語法

tail [選項]... [檔案]...
# 無檔案參數時讀取標準輸入

核心參數詳解

參數長參數說明範例
-n N--lines=N顯示最後 N 行 (預設 10)tail -n 20 /var/log/syslog
-c N--bytes=N顯示最後 N 位元組tail -c 1000 file.log
-f--follow即時追蹤檔案增長 (Ctrl+C 退出)tail -f /var/log/nginx/access.log
-F--follow=name --retry按檔名追蹤,支援 logrotate 切割後重新打開tail -F /var/log/app.log
-q--quiet多檔案時不顯示檔名標頭tail -q -n 5 *.log
-v--verbose多檔案時顯示檔名標頭tail -v -n 5 *.log
-r逆序顯示 (從尾部往前),需配合 -ntail -r -n 20 file
-s N--sleep-interval=N-f 時輪詢間隔秒數 (預設 1s)tail -f -s 5 /var/log/messages
--pid=PID指定進程結束後自動退出追蹤tail -f --pid=1234 /var/log/app.log

進階實戰技巧

1. 同時監控多個日誌檔 (標準尾)

tail -f /var/log/nginx/access.log /var/log/nginx/error.log
# 輸出會交錯顯示,前綴檔名

2. 多檔案彩色、分頁、搜尋:multitail

sudo apt install multitail
multitail /var/log/nginx/access.log /var/log/nginx/error.log
  • 分視窗、高亮關鍵字、正則過濾、合併視圖

3. less +F 模式:可捲動、可搜尋的即時追蹤

less +F /var/log/syslog
# 按 Ctrl+C 進入 less 普通模式 (可向上捲動、/搜尋)
# 再按 Shift+F 回到追蹤模式

4. 結合 grep 即時過濾關鍵字

tail -f /var/log/app.log | grep --line-buffered ERROR
# --line-buffered 確保即時輸出不緩衝

5. 腳本中安全追蹤:指定 PID 自動退出

# 啟動服務並捕獲 PID
./start_server.sh &
SERVER_PID=$!
# 追蹤日誌,服務掛掉自動退出 tail
tail -f --pid=$SERVER_PID /var/log/server.log

6. 顯示檔案最後 N 行並持續監控 (單行)

tail -n 50 -f /var/log/messages

tail vs tailf vs less +F

工具優點缺點推薦場景
tail -f標準、無依賴、支援 --pid不支援捲動搜尋腳本、簡單監控
tail -F支援 logrotate 切割同上生產環境日誌輪轉
tailf不更新 atime (較省 I/O)功能少、部分發行版無極高頻日誌
less +F可捲動、搜尋、跳轉互動式、不適合腳本人工排查、詳細分析
multitail多檔分視窗、高亮、過濾需安裝、資源較多同時監控多組日誌

退出碼

  • 0:成功
  • >0:錯誤 (檔案不存在、權限不足等)

掌握 tail -F (生產首選)、less +F (人工分析)、multitail (多檔並行)、--pid (腳本安全),日誌追蹤效率將提升數倍。

Copyright © Windows教程網 All Rights Reserved