Linux tail 命令詳解

http://www.cnblogs.com/end/archive/2013/01/11/2855999.html html


Linux命令:顯示文件結尾 apache

  Head/Tail less

  head 與 tail 就像它的名字同樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想固然就是看檔案的結尾,看看下面的範例: curl

(1)?

  displays the first 6 lines of a file 工具

  head -6 readme.txt ui

  (2) displays the last 25 lines of a file url

  tail -25 mail.txt spa

  範例一是顯示檔案的前 6 行,範例二則是顯示檔案最後的 25 行。 .net

  而下面的範別,結合了 head 與 tail 的指令,顯示檔案的第 11 行到第 20 行: 命令行

(3)?

  head -20 file | tail -10

   在 tail 的使用手冊頁中顯示了比 head 還多的可用參數,其中有一個很好用的參數 " -f ",使用此參數時,tail 不會回傳結束信號,除非咱們去自行去中斷它;相反的,它會一直等待一段時間,一直到他發現資料自它最後一次被讀取後,又被加入新的一行時:

(4)?

  display ongoing updates to the given

  log file

  tail -f /usr/tmp/logs/daemon_log.txt

  上述範例能夠動態顯示該 log 文件的動態更新。

  假設該服務程序是一直不斷的加入動態資料到/usr/adm/logs/daemon_log.txt 的 log 文件裏,在命令列控制窗口中使用 tail -f,它將會以必定的時間實時追蹤該檔的全部更新。 ( -f 的只有在其輸入爲檔案時才能使用 )。

  假如你在 tail 後下了多個檔案參數,你便能在同一個窗口內一次追蹤數個 log 檔:

  track the mail log and the server error log

  at the same time.

  tail -f /var/log/mail.log /var/log/apache/error_log

  tac -- 反過來串連?!

   cat 倒過來怎麼拼 ? 對啦 !! 這就是 tac 的功能囉 ~ 它是把檔案的順序內容反過來串連用的,那麼 ~ 它都用在什麼情況下呢 ? 任何必要之後進先出的順序從新排列組件的工做都用得上它 ! 如下面的指令來講,即是以自最後創建的到最早創建的順序,列出三個最新建的使用者賬號:

(5)?

  last 3 /etc/passwd records - in reverse

  $ tail -3 /etc/passwd | tac

  curly:x:1003:100:3rd Stooge:/homes/curly:/bin/ksh

  larry:x:1002:100:2nd Stooge:/homes/larry:/bin/ksh

  moe:x:1001:100:1st Stooge:/homes/moe:/bin/ksh

 

查看文件內容的特殊方法
  相信最基本的cat和less,more你已經很熟悉了,若是有特殊的要求呢:
1. 若是你只想看文件的前5行,可使用head命令,如:
head -5 /etc/passwd
2. 若是你想查看文件的後10行,可使用tail命令,如:
tail -10 /etc/passwd
tail -f /var/log/messages
參數-f使tail不停地去讀最新的內容,這樣有實時監視的效果

1、UNIX下的TAIL命令

說明:部份內容摘錄自"永遠的UNIX",http://fanqiang.chinaunix.net/

NAME(名稱)

tail - 輸出文件的末尾部分

SYNOPSIS(總覽)

../src/tail [OPTION]... [FILE]...

DESCRIPTION(描述)

在標準輸出上顯示每一個FILE的最後10行. 若是多於一個FILE,會一個接一個地顯示, 並在每一個文件顯示的首部給出文件名. 若是沒有FILE,或者FILE是-,那麼就從標準輸入上讀取.

--retry即便tail開始時就不能訪問或者在tail運行後不能訪問,也仍然不停地嘗試打開文件.  -- 只與 -f合用時有用. -c--bytes= N輸出最後N個字節 -f--follow[={name|descriptor}]當文件增加時,輸出後續添加的數據;  -f--follow以及  --follow= descriptor 都是相同的意思 -n--lines= N輸出最後N行,而非默認的最後10行 --max-unchanged-stats= N參看texinfo文檔(默認爲5) --max-consecutive-size-changes= N參看texinfo文檔(默認爲200) --pid= PID-f合用,表示在進程ID,PID死掉以後結束. -q--quiet--silent從不輸出給出文件名的首部 -s--sleep-interval= S-f合用,表示在每次反覆的間隔休眠S秒 -v--verbose老是輸出給出文件名的首部 --help顯示幫助信息後退出 --version輸出版本信息後退出

若是N(字節或者行數)的第一個字符爲`+', 那麼從每一個文件的開頭算起的第N項開始顯示, 不然, 顯示該文件的最後N項. N能夠有一個倍數前綴: b表示512,k表示1024,m表示1048576(1兆). 第一個選項 -VALUE 或+VALUE 以-n VALUE或-n +VALUE 方式看待,除非VALUE含有[bkm]後綴倍數中的一個,在這種狀況下,它被看做 -c VALUE 或者-c +VALUE

使用--follow (-f)時,tail默認後接文件描述符, 這意味着即便tail顯示的文件更名了,tail仍然能夠追蹤到其末尾部分. 若是你確實但願查詢文件的實際名而非文件描述符 (例如,日誌輪轉時), 這種默認的操做就不是你所指望的了. 在這種狀況下應使用--follow=name. 這將致使tail經過週期性地從新打開所指定的文件來追蹤其是否被刪除了,或者被其餘程序從新建立了.

        tail 的完整文檔是以Texinfo手冊形式維護的. 若是 info 和 tail 程序在你那兒都已經安裝好了,那麼命令:info tail 應該會讓你訪問到整篇手冊.

       從上面的說明能夠看到,最經常使用的形式是:tail   -f   sys.log

2、WINDOWS下的TAIL工具

  sourceforge上有個tail工具不錯, 推薦給你們
    1. 首先固然是tail功能了, 能夠tail多個文件, 如access.log, error.log
    2. 關鍵字高亮功能.
    3. workspace管理.
    4. 綠色, 免安裝, 只有164k

     下載地址 http://sourceforge.net/projects/tailforwin32

其餘:

用途

從指定點開始將文件寫到標準輸出。使用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

成功完成。

 

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

相關文章
相關標籤/搜索