Linux 檢視日誌命令tail的用法
阿新 • • 發佈:2021-11-19
tail 命令可用於檢視檔案的內容。
最常用到的是引數 -f ,用於查閱正在改變的日誌檔案。
命令格式:
tail [引數] [檔案]
引數:
- -f 迴圈讀取,監視檔案的尾部內容(預設10行,相當於增加引數 -n 10)
- -q 不顯示處理資訊
- -v 顯示詳細的處理資訊
- -c<數目> 顯示的位元組數
- -n<行數> 顯示檔案的尾部 n 行內容
- --pid=PID 與-f合用,表示在程序ID,PID死掉之後結束
- -q, --quiet, --silent 從不輸出給出檔名的首部
- -s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒
可以執行命令tail --help
就能看到tail
命令介紹
-c, --bytes=K output the last K bytes; or use -c +K to output bytes starting with the Kth of each file 輸出最後的 K 個位元組; 或者使用 -c +K 從每個檔案的第K位元組開始列印。 -f, --follow[={name|descriptor}] output appended data as the file grows; an absent option argument means 'descriptor' 隨著檔案的增長,輸出附加資料;(動態輸出最新的資訊); 沒有選項引數意味著“描述符” -F same as --follow=name --retry 與 --follow=name --retry 作用相同 -n, --lines=K output the last K lines, instead of the last 10; or use -n +K to output starting with the Kth 輸出最後的K行,而不是最後的10行; 或者使用-n +K從第K個開始輸出 --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files); with inotify, this option is rarely useful 使用——follow=name,在N次(預設為5次)迭代後,重新開啟一個大小沒有改變的檔案,看看它是否被解除連結或重新命名(這是旋轉日誌檔案的常見情況); 對於inotify,這個選項很少有用 --pid=PID with -f, terminate after process ID, PID dies 與“-f”選項連用,當指定的程序號的程序終止後,自動退出tail命令 -q, --quiet, --silent never output headers giving file names 當有多個檔案引數時,不輸出各個檔名 --retry keep trying to open a file if it is inaccessible 即是在tail命令啟動時,檔案不可訪問或者檔案稍後變得不可訪問,都始終嘗試開啟檔案。使用此選項時需要與選項“——follow=name”連用 -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations; with inotify and --pid=P, check process P at least once every N seconds 與“-f”選項連用,指定監視檔案變化時間隔的秒數(預設為1.0); 使用inotify和-pid=P,每N秒檢查程序P至少一次 -v, --verbose always output headers giving file names 當有多個檔案引數時,總是輸出各個檔名 --help display this help and exit 顯示此幫助資訊並退出 --version output version information and exit 顯示版本資訊並退出
其中 tail -f與tail -F的區別:
tail -f
等同於–follow=descriptor,根據檔案描述符進行追蹤,當檔案改名或被刪除,追蹤停止
tail -F
等同於–follow=name --retry,根據檔名進行追蹤,並保持重試,即該檔案被刪除或改名後,如果再次建立相同的檔名,會繼續追蹤
tailf
等同於tail -f -n 10(貌似tail -f或-F預設也是列印最後10行,然後追蹤檔案),與tail -f不同的是,如果檔案不增長,它不會去訪問磁碟檔案,減少了磁碟訪問,所以tailf特別適合那些便攜機上跟蹤日誌檔案
如果遇到日誌檔案較大的時候,通常會輸出的行數來檢視日誌:
// 預設顯示 log 檔案的最後 10 行
tail test.log
// 顯示 log 檔案的最後 10 行,同時跟蹤名為檔案的增長情況,直到您按下(Ctrl-C)組合鍵停止顯示。
tail -f test.log
// 顯示 log 檔案的最後 n 行,同時跟蹤名為檔案的增長情況,直到您按下(Ctrl-C)組合鍵停止顯示。
tail -nf test.log
// 顯示檔案的最後 10 行
tail -n 10 filename
// 檔案的第 9 行不顯示,顯示第 10 行到末尾行
tail -n -10 filename
// 顯示檔案的第 10 行到末尾行
tail -n +10 filename
逆序顯示filename最後10行。
tail -r -n 10 filename
// 顯示第20行至末尾
tail +20 test.log
// 顯示最後10個字元
tail -c 10 test.log
退出:
按下CTRL+C。
本文來自部落格園,作者:屯慶,轉載請註明原文連結:https://www.cnblogs.com/tunqing/p/15577644.html