Linux系統(tǒng)中tail命令的參數(shù)及用法詳解
Linux系統(tǒng)中tail命令是一個(gè)文本查看命令,顯示文本的尾部?jī)?nèi)容。下面由學(xué)習(xí)啦小編為大家整理了Linux系統(tǒng)中tail命令的參數(shù)及用法詳解的相關(guān)知識(shí),希望對(duì)大家有幫助!
Linux系統(tǒng)中tail命令的參數(shù)及用法詳解:參數(shù)說明
tail語(yǔ)法格式:
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
或者
tail [ -r ] [ -n Number ] [ File ]
使用說明:
tail 命令從指定點(diǎn)開始將 File 參數(shù)指定的文件寫到標(biāo)準(zhǔn)輸出。如果沒有指定文件,則會(huì)使用標(biāo)準(zhǔn)輸入。 Number 變量指定將多少單元寫入標(biāo)準(zhǔn)輸出。 Number 變量的值可以是正的或負(fù)的整數(shù)。如果值的前面有 +(加號(hào)),從文件開頭指定的單元數(shù)開始將文件寫到標(biāo)準(zhǔn)輸出。如果值的前面有 -(減號(hào)),則從文件末尾指定的單元數(shù)開始將文件寫到標(biāo)準(zhǔn)輸出。如果值前面沒有 +(加號(hào))或 -(減號(hào)),那么從文件末尾指定的單元號(hào)開始讀取文件。
主要參數(shù):
-b Number 從 Number 變量表示的 512 字節(jié)塊位置開始讀取指定文件。
-c Number 從 Number 變量表示的字節(jié)位置開始讀取指定文件。
-f 如果輸入文件是常規(guī)文件或如果 File 參數(shù)指定 FIFO(先進(jìn)先出),那么 tail 命令不會(huì)在復(fù)制了輸入文件的最后的指定單元后終止,而是繼續(xù)從輸入文件讀取和復(fù)制額外的單元(當(dāng)這些單元可用時(shí))。如果沒有指定 File 參數(shù),并且標(biāo)準(zhǔn)輸入是管道,則會(huì)忽略 -f 標(biāo)志。tail -f 命令可用于監(jiān)視另一個(gè)進(jìn)程正在寫入的文件的增長(zhǎng)。
-k Number 從 Number 變量表示的1KB 塊位置開始讀取指定文件。
-m Number 從 Number 變量表示的多字節(jié)字符位置開始讀取指定文件。使用該標(biāo)志提供在單字節(jié)和雙字節(jié)字符代碼集環(huán)境中的一致結(jié)果。
-n Number 從首行或末行位置來讀取指定文件,位置由 Number 變量的符號(hào)(+ 或 - 或無)表示,并通過行號(hào) Number 進(jìn)行位移。
-r 從文件末尾以逆序方式顯示輸出。-r 標(biāo)志的缺省值是以逆序方式顯示整個(gè)文件。
如果文件大于 20,480 字節(jié),那么-r標(biāo)志只顯示最后的 20,480 字節(jié)。 -r 標(biāo)志只有 與 -n 標(biāo)志一起時(shí)才有效。否則,就會(huì)將其忽略。
Linux系統(tǒng)中的tail命令參數(shù)及用法詳解:用法詳解
實(shí)例1:顯示文件末尾內(nèi)容
命令:
tail -n 5 log2014.log
輸出:
代碼如下:
[root@localhost test]# tail -n 5 log2014.log
2014-09
2014-10
2014-11
2014-12
==============================[root@localhost test]#
說明:
顯示文件最后5行內(nèi)容
實(shí)例2:循環(huán)查看文件內(nèi)容
命令:
tail -f test.log
輸出:
代碼如下:
[root@localhost ~]# ping 192.168.120.204 > test.log &
[1] 11891[root@localhost ~]# tail -f test.log
PING 192.168.120.204 (192.168.120.204) 56(84) bytes of data.
64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms
64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms
64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms
64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms
64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms
64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms
64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms
64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms
64 bytes from 192.168.120.204: icmp_seq=10 ttl=64 time=0.033 ms
64 bytes from 192.168.120.204: icmp_seq=11 ttl=64 time=0.027 ms
[root@localhost ~]#
說明:
ping 192.168.120.204 > test.log & //在后臺(tái)ping遠(yuǎn)程主機(jī)。并輸出文件到test.log;這種做法也使用于一個(gè)以上的檔案監(jiān)視。用Ctrl+c來終止。
實(shí)例3:從第5行開始顯示文件
命令:
tail -n +5 log2014.log
輸出:
代碼如下:
[root@localhost test]# cat log2014.log
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 log2014.log
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
補(bǔ)充:Linux系統(tǒng)中其它查看文件內(nèi)容的命令
最基本的是cat、more和less。
1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd
tail -f /var/log/messages
參數(shù)-f使tail不停地去讀最新的內(nèi)容,這樣有實(shí)時(shí)監(jiān)視的效果 用Ctrl+c來終止!
3. 查看文件中間一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd
這樣你就可以只查看文件的第5行到第10行。