Linux之tail命令使用攻略

2021-10-11 05:19:28 字數 2711 閱讀 7367

語法

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

標準語法

tail [  -f ] [  -c number |  -n number |  -m number |  -b number |  -k number ] [ file ]

tail  命令從指定點開始將file 引數指定的檔案寫到標準輸出。如果沒有指定檔案,則會使用標準輸入。

number    變數用於確定計數的起點的單元型別由-b、-c、-k、-m 以及-n 標誌確定。即number指數起始位置的具體數目。並與-b,-n等引數為單位決定具體的檔案中的某個具體位置,如果沒有指定其中的任何乙個標誌,那麼tail 命令就會讀取指定檔案的最後十行,並將其寫到標準輸出。這與在命令列輸入-n 10 是相同的。注意number的前面有正負號的問題,如果number為'+10'那麼效果是從正向數的第10行的位置,如果為'-10'(如果省略正負號,那麼預設為'-10','-10'即等價於'10')那麼效果為倒數第10行的位置。number 變數指定將多少單元寫入標準輸出。number 變數的值可以是正的或負的整數。如果值的前面有+(加號),從檔案開頭正數指定的單元數開始將檔案寫到標準輸出。如果值的前面有-(減號),則從檔案末尾開始計數倒數指定的單元數開始截止到檔案末尾將檔案寫到標準輸出。如果值前面沒有+(加號)或-(減號),那麼從檔案末尾(即相當於'-'符號)指定的單元號開始讀取檔案。參見案例一。

選項

-m    標誌在單位元組和雙位元組字元環境中提供了一致的結果。當輸入是包含多位元組字元的文字檔案時應謹慎使用-c 標誌,因為產生的輸出可能不從字元邊界開始。

-f    如果輸入檔案是常規檔案或如果file 引數指定fifo(先進先出),那麼tail 命令不會在複製了輸入檔案的最後的指定單元後終止,而是繼續從輸入檔案讀取和複製額外的單元(當這些單元可用時)。如果沒有指定file 引數,並且標準輸入是管道,則會忽略-f 標誌。tail -f 命令可用於監視另乙個程序正在寫入的檔案的增長。參見案例二。

-n number    從number 變數表示的行位置開始讀取指定檔案。即從第number行(包括第number行)讀取到檔案的末尾行。如果不指定number正數還是倒數,那麼預設是倒數第number行開始向前讀取。參見案例一。

-r    從檔案末尾以逆序方式顯示輸出。-r 標誌的預設值是以逆序方式列印整個檔案。如果檔案大於20,480 位元組,那麼-r 標誌只顯示最後的20,480 位元組。

-r    標誌只有與-n 標誌一起時才有效。否則,就會將其忽略。

案例分析

案例一:要指定從notes 檔案的倒數第20行的位置讀取到檔案末尾,輸入:

tail  -n 20 ./notes //讀出文字的倒數前20行。

案例二::要指定從notes 檔案的正向數第20行的位置讀取到檔案末尾,輸入:

tail  -n +20 ./notes //讀出文字的倒數前20行。

案例三:要顯示notes 檔案的最後十行,輸入:

tail ./notes.txt  //即不帶引數呼叫,那麼預設取出最後10行內容。

案例四:-n引數案例,取出最後n行內容,如果省略-n引數,那麼n預設為10.

[root@iz25sngm7hfz ~]# tail -n 5 /etc/group  #取出最後5行內容。

apache:x:48:wyq

mysql:x:27:wyq

xiaomei:x:500:

yaqiang:x:501:

wyq:x:502:

[root@iz25sngm7hfz ~]#

[root@iz25sngm7hfz ~]# tail /etc/group  #不帶-n引數,預設取出最後10行

stapdev:x:158:

sshd:x:74:

tcpdump:x:72:

nscd:x:28:

slocate:x:21:

apache:x:48:wyq

mysql:x:27:wyq

xiaomei:x:500:

yaqiang:x:501:

wyq:x:502:

[root@iz25sngm7hfz ~]#

案例五: //顯示文字最後10行,並監控檔案,如果有其他程式的寫入操作,那麼將寫入實時讀出。這顯示notes.txt檔案的最後十行。tail 命令繼續顯示新增到accounts 檔案中的行。顯示會一直繼續,直到您按下ctrl-c 按鍵順序來停止。

[root@iz25sngm7hfz ~]# tail -f /etc/group

stapdev:x:158:

sshd:x:74:

tcpdump:x:72:

nscd:x:28:

slocate:x:21:

apache:x:48:wyq

mysql:x:27:wyq

xiaomei:x:500:

yaqiang:x:501:

wyq:x:502:

案例六:同時取出結尾為.s的檔案的末尾2行,每個檔案都取出2行。

[root@iz25ja2kaemz ~]# tail -n 2 ./*.s

==> ./a.s <==

1033

==> ./b.s <==

5555

66666

Linux高階之 tail 命令

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

linux命令之 tail學習

在螢幕上顯示指定檔案的末尾若干行 tail file 顯示檔案file的最後10行 tail n 20 file 顯示檔案file的內容,從第20行至檔案末尾 tail c 10 file 顯示檔案file的最後10個字元 tail 25 mail.log 顯示 mail.log 最後的 25 行 ...

Linux學習之tail命令

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