tail 命令從指定點(diǎn)開始將文件寫到標(biāo)準(zhǔn)輸出.使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不但刷新,使你看到最新的文件內(nèi)容.
1.命令格式;
tail[必要參數(shù)][選擇參數(shù)][文件]
2.命令功能:
用于顯示指定文件末尾內(nèi)容,不指定文件時(shí),作為輸入信息進(jìn)行處理。常用查看日志文件。
-f 循環(huán)讀取
-q 不顯示處理信息
-v 顯示詳細(xì)的處理信息
-c<數(shù)目> 顯示的字節(jié)數(shù)
-n<行數(shù)> 顯示行數(shù)
--pid=PID 與-f合用,表示在進(jìn)程ID,PID死掉之后結(jié)束.
-q, --quiet, --silent 從不輸出給出文件名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反復(fù)的間隔休眠S秒
4.使用實(shí)例:
實(shí)例1:顯示文件末尾內(nèi)容
命令:
tail -n 5 /var/log/yum.log
輸出:
[root@linux linux]# tail -n 5 /var/log/yum.log
Jun 29 14:45:30 Installed: samba-3.6.23-35.el6_8.i686
Jun 29 14:45:31 Installed: 2:xinetd-2.3.14-40.el6.i686
Jun 29 14:45:34 Installed: samba-swat-3.6.23-35.el6_8.i686
Jun 29 14:45:37 Updated: samba-client-3.6.23-35.el6_8.i686
Jun 29 14:45:37 Updated: libsmbclient-3.6.23-35.el6_8.i686
[root@linux linux]#
說明:
顯示文件最后5行內(nèi)容
實(shí)例2:循環(huán)查看文件內(nèi)容
命令:
tail -f /var/log/yum.log
輸出:
Jun 22 19:54:08 Updated: PackageKit-device-rebind-0.5.8-26.el6.i686
Jun 22 19:54:09 Updated: rpm-build-4.8.0-55.el6.i686
Jun 29 14:45:24 Updated: samba-winbind-3.6.23-35.el6_8.i686
Jun 29 14:45:24 Updated: samba-winbind-clients-3.6.23-35.el6_8.i686
Jun 29 14:45:28 Updated: samba-common-3.6.23-35.el6_8.i686
Jun 29 14:45:30 Installed: samba-3.6.23-35.el6_8.i686
Jun 29 14:45:31 Installed: 2:xinetd-2.3.14-40.el6.i686
Jun 29 14:45:34 Installed: samba-swat-3.6.23-35.el6_8.i686
Jun 29 14:45:37 Updated: samba-client-3.6.23-35.el6_8.i686
Jun 29 14:45:37 Updated: libsmbclient-3.6.23-35.el6_8.i686
該命令能實(shí)時(shí)查看日志,并自動(dòng)刷新日志,讓我們看到最新的日志文件,清楚自己的程序的執(zhí)行過程,方便問題的查找。
補(bǔ)充
用途
從指定點(diǎn)開始將文件寫到標(biāo)準(zhǔn)輸出。使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不但刷新,使你看到最新的文件內(nèi)容。
語法
標(biāo)準(zhǔn)語法
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)開始讀取文件。
Number 變量用于確定計(jì)數(shù)的起點(diǎn)的單元類型由-b、-c、-k、-m 以及-n 標(biāo)志確定。如果沒有指定其中的任何一個(gè)標(biāo)志,那么tail 命令就會(huì)讀取指定文件的最后十行,并將其寫到標(biāo)準(zhǔn)輸出。這與在命令行輸入-n 10 是相同的。
-m 標(biāo)志在單字節(jié)和雙字節(jié)字符環(huán)境中提供了一致的結(jié)果。當(dāng)輸入是包含多字節(jié)字符的文本文件時(shí)應(yīng)謹(jǐn)慎使用-c 標(biāo)志,因?yàn)楫a(chǎn)生的輸出可能不從字符邊界開始。
標(biāo)志
-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)程正在寫入的文件的增長。
-k Number
從Number 變量表示的1KB 塊位置開始讀取指定文件。
-m Number
從Number 變量表示的多字節(jié)字符位置開始讀取指定文件。使用該標(biāo)志提供在單字節(jié)和雙字節(jié)字符代碼集環(huán)境中的一致結(jié)果。
-n Number
從Number 變量表示的行位置開始讀取指定文件。
-r
從文件末尾以逆序方式顯示輸出。-r 標(biāo)志的缺省值是以逆序方式打印整個(gè)文件。如果文件大于20,480 字節(jié),那么-r 標(biāo)志只顯示最后的20,480 字節(jié)。
-r 標(biāo)志只有與-n 標(biāo)志一起時(shí)才有效。否則,就會(huì)將其忽略。
退出狀態(tài)
該命令返回下列的退出值:
0
成功完成。
0
出現(xiàn)錯(cuò)誤。
示例
要顯示notes 文件的最后十行,輸入:
tail notes要指定從notes 文件末尾開始讀取的行數(shù),輸入:
tail -n 20 notes
要從第200 字節(jié)開始,每次顯示一頁notes 文件,輸入:
tail -c +200 notes | pg
要跟蹤文件的增長,輸入:
tail -f accounts
這顯示accounts 文件的最后十行。tail 命令繼續(xù)顯示添加到accounts 文件中的行。顯示會(huì)一直繼續(xù),直到您按下Ctrl-C 按鍵順序來停止。