命令語法
tail [選項] [文件]
選項:
-f 追蹤文件增長(實時監控)
-n NUM 顯示最後 NUM 行(預設 10)
-c NUM 顯示最後 NUM 位元組
-q 不顯示文件名標頭
-v 總是顯示文件名標頭
--pid=PID 配合 -f,進程結束時自動退出
--retry 文件不可讀時持續嘗試
常用範例
| 命令 | 說明 |
tail -f /var/log/messages | 實時監控系統日誌,Ctrl+C 退出 |
tail -n 50 /var/log/nginx/access.log | 顯示最後 50 行 |
tail -n +20 file.txt | 從第 20 行顯示到結尾 |
tail -c 1k file.bin | 顯示最後 1KB 位元組 |
tail -f --pid=$$ /var/log/app.log | Shell 退出時自動停止監控 |
進階技巧
- 多文件監控:
tail -f /var/log/nginx/*.log
- 配合 grep 過濾:
tail -f /var/log/app.log | grep ERROR
- 顯示行號:
tail -n 20 file | cat -n
- 反序顯示:
tac file | head -n 10(tac 為 cat 反序)
相關命令對比
| 命令 | 用途 |
| cat | 完整輸出文件內容 |
| tac | 反序輸出 |
| head | 顯示前 N 行 |
| tail | 顯示後 N 行 / 實時追蹤 |
| less | 分頁瀏覽,支援向上翻頁 |
| more | 分頁瀏覽,僅向下 |
最佳實踐
- 生產環境日誌分析首選
tail -f 配合 grep/awk
- 大文件僅需尾部資訊時避免
cat 讀取整文件
- 腳本中使用
tail -n +1 實現「從首行輸出」效果