Linux tail命令詳解


一、tail命令介紹

  Linux tail命令的用途是按照要求將指定的文件的最后部分輸出到標准設備,一般是終端,通俗來講,就是把某個文件的最后幾行顯示到終端上,如果該檔案有更新,tail會自動刷新,確保你看到最新的檔案內容。tail命令的語法格式如下:

tail [ -f ] [ -c Number | -n Number | -m Number| -b Number | -k Number ] [ File ]

參數說明如下表所示:

參數 功能
-f 該參數用於監視文件的實時增加
-c Number 從第Number個字節位置讀取指定文件
-n Number 從第Number位置讀取指定文件
-m Number 從第Number個字符位置讀取指定文件
-b Number 從第Number個512字節塊位置讀取指定文件
-k Number 從第Number個1KB字節塊位置讀取指定文件

在以上參數中,都涉及到Number,如果不指定Number,默認顯示后10行,Number前面可使用正負號,表示該偏移從頂部還是從尾部開始計算。

二、tail命令使用實例

【例1】顯示/etc/passwd,分別從頂部的第10行、底部的第10行開始顯示

➜  test tail -n +10 /etc/passwd
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin   # 本行是從頂部開始的第10行
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
......
......
baichunyu.bcy:x:1001:1001::/home/baichunyu.bcy:/home/linuxbrew/.linuxbrew/bin/zsh

➜  test tail -n 10 /etc/passwd
tiger:x:1000:1000::/home/tiger:/bin/bash            # 本行是從底部開始的第10行,即倒數第10行
falcon:x:2000:2000::/home/falcon:/bin/bash
_chrony:x:106:110:Chrony daemon,,,:/var/lib/chrony:/bin/false
_lldpd:x:107:112::/var/run/lldpd:/bin/false
messagebus:x:108:113::/var/run/dbus:/bin/false
unscd:x:109:114::/var/lib/unscd:/bin/false
ganglia:x:1999:1999:Ganglia Monitor:/var/lib/ganglia:/bin/false
Debian-exim:x:110:115::/var/spool/exim4:/bin/false
statd:x:111:65534::/var/lib/nfs:/bin/false
baichunyu.bcy:x:1001:1001::/home/baichunyu.bcy:/home/linuxbrew/.linuxbrew/bin/zsh

➜  test tail -n -10 /etc/passwd
tiger:x:1000:1000::/home/tiger:/bin/bash            # 本行也是從底部開始的第10行,即倒數第10行
falcon:x:2000:2000::/home/falcon:/bin/bash
_chrony:x:106:110:Chrony daemon,,,:/var/lib/chrony:/bin/false
_lldpd:x:107:112::/var/run/lldpd:/bin/false
messagebus:x:108:113::/var/run/dbus:/bin/false
unscd:x:109:114::/var/lib/unscd:/bin/false
ganglia:x:1999:1999:Ganglia Monitor:/var/lib/ganglia:/bin/false
Debian-exim:x:110:115::/var/spool/exim4:/bin/false
statd:x:111:65534::/var/lib/nfs:/bin/false
baichunyu.bcy:x:1001:1001::/home/baichunyu.bcy:/home/linuxbrew/.linuxbrew/bin/zsh

從上述結果中可以看出,Number前如果是正號(+),則偏移量Number是從頂部開始計算;Number前如果是負號(-),則偏移量Number是從底部開始計算;如果沒有正負號,則默認是從底部開始計算

【例2】監控/etc/passwd的后10行

➜  test tail -f /etc/passwd
tiger:x:1000:1000::/home/tiger:/bin/bash
falcon:x:2000:2000::/home/falcon:/bin/bash
_chrony:x:106:110:Chrony daemon,,,:/var/lib/chrony:/bin/false
_lldpd:x:107:112::/var/run/lldpd:/bin/false
messagebus:x:108:113::/var/run/dbus:/bin/false
unscd:x:109:114::/var/lib/unscd:/bin/false
ganglia:x:1999:1999:Ganglia Monitor:/var/lib/ganglia:/bin/false
Debian-exim:x:110:115::/var/spool/exim4:/bin/false
statd:x:111:65534::/var/lib/nfs:/bin/false
baichunyu.bcy:x:1001:1001::/home/baichunyu.bcy:/home/linuxbrew/.linuxbrew/bin/zsh
                         # 此時光標停在這里,如果文件有實時更新,這里會實時顯示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM