關於linux中tail 命令使用詳解

tail 命令從指定點開始將文件寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日誌文件,tail -f filename會把filename裏最尾部的內容顯示在屏幕上,並且不但刷新,使你看到最新的文件內容.

關於linux中tail 命令使用詳解

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 命令。