1. 程式人生 > 其它 >Linux 檢視日誌命令tail的用法

Linux 檢視日誌命令tail的用法

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