關於linux中tail 命令使用詳解
tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日誌檔案,tail -f filename會把filename裡最尾部的內容顯示在螢幕上,並且不但重新整理,使你看到最新的檔案內容.
1.命令格式;
tail[必要引數][選擇引數][檔案]
2.命令功能:
用於顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理。常用檢視日誌檔案。
3.命令引數:
-f 迴圈讀取
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c<數目> 顯示的位元組數
-n<行數> 顯示行數
--pid=PID 與-f合用,表示在程序ID,PID死掉之後結束.
-q, --quiet, --silent 從不輸出給出檔名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒
4.使用例項:
例項1:顯示檔案末尾內容
命令:
tail -n 5
輸出:
[root@localhost test]# tail -n 5
2014-09
2014-10
2014-11
2014-12
==============================[root@localhost test]#
說明:
顯示檔案最後5行內容
例項2:迴圈檢視檔案內容
命令:
tail -f
輸出:
[root@localhost ~]# ping > &
[1] 11891[root@localhost ~]# tail -f
PING () 56(84) bytes of data.
64 bytes from : icmp_seq=1 ttl=64 time=0.038 ms
64 bytes from : icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from : icmp_seq=3 ttl=64 time=0.033 ms
64 bytes from : icmp_seq=4 ttl=64 time=0.027 ms
64 bytes from : icmp_seq=5 ttl=64 time=0.032 ms
64 bytes from : icmp_seq=6 ttl=64 time=0.026 ms
64 bytes from : icmp_seq=7 ttl=64 time=0.030 ms
64 bytes from : icmp_seq=8 ttl=64 time=0.029 ms
64 bytes from : icmp_seq=9 ttl=64 time=0.044 ms
64 bytes from : icmp_seq=10 ttl=64 time=0.033 ms
64 bytes from : icmp_seq=11 ttl=64 time=0.027 ms
[root@localhost ~]#
說明:
ping > & //在後臺ping遠端主機。並輸出檔案到;這種做法也使用於一個以上的檔案監視。用Ctrl+c來終止。
例項3:從第5行開始顯示檔案
命令:
tail -n +5
輸出:
[root@localhost test]# cat
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
==============================
[root@localhost test]# tail -n +5
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
==============================
補充:
用途
從指定點開始將檔案寫到標準輸出。使用tail命令的-f選項可以方便的查閱正在改變的日誌檔案,tail -f filename會把filename裡最尾部的內容顯示在螢幕上,並且不但重新整理,使你看到最新的檔案內容。
語法
標準語法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
要以逆序顯示行
tail [ -r ] [ -n Number ] [ File ]
描述
tail 命令從指定點開始將File 引數指定的檔案寫到標準輸出。如果沒有指定檔案,則會使用標準輸入。Number 變數指定將多少單元寫入標準輸出。Number 變數的值可以是正的或負的整數。如果值的前面有+(加號),從檔案開頭指定的單元數開始將檔案寫到標準輸出。如果值的前面有-(減號),則從檔案末尾指定的單元數開始將檔案寫到標準輸出。如果值前面沒有+(加號)或-(減號),那麼從檔案末尾指定的單元號開始讀取檔案。
Number 變數用於確定計數的起點的單元型別由-b、-c、-k、-m 以及-n 標誌確定。如果沒有指定其中的任何一個標誌,那麼tail 命令就會讀取指定檔案的最後十行,並將其寫到標準輸出。這與在命令列輸入-n 10 是相同的。
-m 標誌在單位元組和雙位元組字元環境中提供了一致的結果。當輸入是包含多位元組字元的文字檔案時應謹慎使用-c 標誌,因為產生的輸出可能不從字元邊界開始。
標誌
-b Number
從Number 變量表示的512 位元組塊位置開始讀取指定檔案。
-c Number
從Number 變量表示的位元組位置開始讀取指定檔案。
-f
如果輸入檔案是常規檔案或如果File 引數指定FIFO(先進先出),那麼tail 命令不會在複製了輸入檔案的最後的指定單元后終止,而是繼續從輸入檔案讀取和複製額外的單元(當這些單元可用時)。如果沒有指定File 引數,並且標準輸入是管道,則會忽略-f 標誌。tail -f 命令可用於監視另一個程序正在寫入的'檔案的增長。
-k Number
從Number 變量表示的1KB 塊位置開始讀取指定檔案。
-m Number
從Number 變量表示的多位元組字元位置開始讀取指定檔案。使用該標誌提供在單位元組和雙位元組字元程式碼集環境中的一致結果。
-n Number
從Number 變量表示的行位置開始讀取指定檔案。
-r
從檔案末尾以逆序方式顯示輸出。-r 標誌的預設值是以逆序方式列印整個檔案。如果檔案大於20,480 位元組,那麼-r 標誌只顯示最後的20,480 位元組。
-r 標誌只有與-n 標誌一起時才有效。否則,就會將其忽略。
退出狀態
該命令返回下列的退出值:
成功完成。
>0
出現錯誤。
要顯示notes 檔案的最後十行,輸入:
tail notes要指定從notes 檔案末尾開始讀取的行數,輸入:
tail -n 20 notes
要從第200 位元組開始,每次顯示一頁notes 檔案,輸入:
tail -c +200 notes | pg
要跟蹤檔案的增長,輸入:
tail -f accounts
這顯示accounts 檔案的最後十行。tail 命令繼續顯示新增到accounts 檔案中的行。顯示會一直繼續,直到您按下Ctrl-C 按鍵順序來停止。
檔案
/usr/bin/tail
包含tail 命令。