1. 程式人生 > >linux每日命令(15):tail命令

linux每日命令(15):tail命令

tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日誌檔案,tail -f filename會把filename裡最尾部的內容顯示在螢幕上,並且不斷重新整理,使你看到最新的檔案內容.

一.命令格式;

tail[必要引數][選擇引數][檔案]   

二.命令功能:

用於顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理。常用檢視日誌檔案。

三.命令引數:

引數 描述
-f 迴圈讀取
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c 顯示的位元組數
-n 顯示行數
--pid=PID 與-f合用,表示在程序ID,PID死掉之後結束.
-q --quiet, --silent 從不輸出給出檔名的首部
-s --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒

四.使用例項:

1.顯示log1檔案最後3行內容

命令:

tail -n 3 log1

輸出:

[email protected]:~/snap$ nl -b a log1
     1  我是log1的第一行
     2  
     3  我是log1的第三行
     4  我是log1的第四行
     5  我是log1的第五行
     6  
     7  我是log1的第七行
[email protected]
:~/snap$ tail -n 3 log1 我是log1的第五行 我是log1的第七行

2. 從第3行開始顯示log1檔案內容

命令:

tail -n +3 log1

輸出:

[email protected]:~/snap$ nl -b a log1
    1  我是log1的第一行
    2  
    3  我是log1的第三行
    4  我是log1的第四行
    5  我是log1的第五行
    6  
    7  我是log1的第七行
[email protected]:~/snap$ tail -n +3 log1
我是log1的第三行
我是log1的第四行
我是log1的第五行

我是log1的第七行

3.迴圈重新整理檢視檔案內容

命令:

tail -f test.log

輸出:

[email protected]:~/snap$ ping 127.0.0.1 > test.log & 
[1] 24615
[email protected]:~/snap$ tail -f test.log
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.065 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.068 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.157 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.067 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.034 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.043 ms
64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.031 ms
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.076 ms
64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.069 ms
64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.067 ms
64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.063 ms
^C
[email protected]:~/snap$ ps -ef | less
[1]+  已殺死               ping 127.0.0.1 > test.log

說明:

ping 127.0.0.1 > test.log & //在後臺ping遠端主機。並輸出檔案到test.log;這種做法也使用於一個以上的檔案監視。用Ctrl+c來終止。

由於加了&,所以輸出命令一直在後臺執行,想要殺死它就得找到它的pid,然後kill -9 pid,終止輸出