Linux head和tail命令

pursuer.chen發表於2016-07-13

介紹

 head和tail是一組想對應的命令,預設分別顯示檔案的開頭和末尾10行記錄。

 

head命令

head命令預設顯示頭部的前N行

Usage: head [OPTION]... [FILE]...
預設輸出前10行
當指定多個檔案時,在輸出前輸出各個檔名
當沒有指定檔案或指定的檔案是“-”說明讀取標準輸入

Mandatory arguments to long options are mandatory for short options too.
  -c, --bytes=[-]K         print the first K bytes of each file;
                             with the leading `-', print all but the last
                             K bytes of each file 顯示頭部前多少位元組,這裡的K是單位的標示,具體的單位參考下面列表,當使用-K時顯示除了尾部多少位元組外的所有內容
  -n, --lines=[-]K         print the first K lines instead of the first 10;
                             with the leading `-', print all but the last
                             K lines of each file顯示頭部的多少行,預設顯示頭部10行,例如-n -b代表顯示除了尾部512行外的所有行
  -q, --quiet, --silent    never print headers giving file names當指定多個檔案時,出現內容中不輸出檔名
  -v, --verbose            always print headers giving file names
      --help     display this help and exit
      --version  output version information and exit

K may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

tail命令

tail命令同head命名正好相反,tail預設輸出尾部10行

Usage: tail [OPTION]... [FILE]...
預設輸出尾部10行
當指定多個檔案時,預設在輸出內容前顯示檔名
當沒有指定檔案或者指定的檔案是“-”時,讀取標準輸入

Mandatory arguments to long options are mandatory for short options too.對於長選項不可忽略的引數對應短選項也不可忽略
  -c, --bytes=K            output the last K bytes; alternatively, use -c +K顯示尾部的位元組數,當使用+k引數時表示從k位元組開始顯示到末尾,例如-c +1b 顯示512位元組開始到末尾的內容
                           to output bytes starting with the Kth of each file
  -f, --follow[={name|descriptor}]
                           output appended data as the file grows;
                           -f, --follow, and --follow=descriptor are
                           equivalent追加顯示檔案最新的內容
  -F                       same as --follow=name --retry等同於使用 -f filename --retry操作
  -n, --lines=K            output the last K lines, instead of the last 10;預設顯示輸出尾部的10行,當使用+k引數時指從第K行開始顯示到末尾,例如-n +6顯示第6行到末尾的內容
                           or use -n +K to output lines starting with the Kth
      --max-unchanged-stats=N
                           with --follow=name, reopen a FILE which has not
                           changed size after N (default 5) iterations
                           to see if it has been unlinked or renamed
                           (this is the usual case of rotated log files).
                           With inotify, this option is rarely useful.
      --pid=PID            with -f, terminate after process ID, PID dies--指定程式id,可以結合-f引數一起使用,當指定的程式終止時顯示也終止
  -q, --quiet, --silent    never output headers giving file names ###同時顯示多個檔案時不輸出檔名
      --retry              keep trying to open a file even when it is or當連線的檔案突然不可訪問時嘗試重新連線
                             becomes inaccessible; useful when following by
                             name, i.e., with --follow=name
  -s, --sleep-interval=N   with -f, sleep for approximately N seconds當使用-f引數時可以,使用-s顯示間隔
                             (default 1.0) between iterations.
                           With inotify and --pid=P, check process P at
                           least once every N seconds.
  -v, --verbose            always output headers giving file names
      --help     display this help and exit
      --version  output version information and exit

If the first character of K (the number of bytes or lines) is a `+',
print beginning with the Kth item from the start of each file, otherwise,
print the last K items in the file.  K may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

tail命令引數和head概念差不多,但是要注意二者的+k,-k的各自含義,tail有一個非常有意思的引數是-f引數,使用該引數可以不停的追加顯示一個檔案最新插入的內容。

1.追加顯示檔案內容

tail -f /tmp/orzdba_mysql.log 

當檔案有新的內容插入進來時它會不停的顯示新插入的內容

2.當程式8770終止時,tail也結束

tail -f /tmp/orzdba_mysql.log --pid=8770

 

總結

 tail -f引數經常會用來監控日誌檔案的顯示,結合實際需要可以充分發揮它的作用

 

 

 

 

備註:

    作者:pursuer.chen

    部落格:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。

《歡迎交流討論》

相關文章