【Linux】一步一步学Linux——tail命令(42)
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
tail - 輸出文件的末尾部分在標準輸出上顯示每個FILE的最后10行. 如果多于一個FILE,會一個接一個地顯示, 并在每個文件顯示的首部給出文件名. 如果沒有FILE,或者FILE是-,那么就從標準輸入上讀取.
tail命令用于輸入文件中的尾部內容。tail命令默認在屏幕上顯示指定文件的末尾10行。如果給定的文件不止一個,則在顯示的每個文件前面加一個文件名標題。如果沒有指定文件或者文件名為“-”,則讀取標準輸入。
注意:如果表示字節或行數的N值之前有一個”+”號,則從文件開頭的第N項開始顯示,而不是顯示文件的最后N項。N值后面可以有后綴:b表示512,k表示1024,m表示1 048576(1M)。
02. 命令格式
tail [選項]… [文件]…
03. 常用選項
tail - 輸出文件的末尾部分在標準輸出上顯示每個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通過周期性地重新打開所指定的文件來 追蹤其是否被刪除了,或者被其他程序重新創建了.04. 參考示例
4.1 輸出文件最后10行
默認情況下,將文件的最后 10 行打印到標準輸出。
[deng@localhost test]$ tail /etc/passwd gdm:x:42:42::/var/lib/gdm:/sbin/nologin gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin deng:x:1000:1000:deng:/home/deng:/bin/bash oracle:x:1001:1002::/home/oracle:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false itcast:x:1002:1003::/home/itcast:/bin/bash [deng@localhost test]$4.2 輸出最后 n 行的內容
如果要輸出最后 n(這里為 5)行的內容,而非默認的最后 10 行,使用 -n 選項。
[deng@localhost test]$ tail -n 5 /etc/passwd tcpdump:x:72:72::/:/sbin/nologin deng:x:1000:1000:deng:/home/deng:/bin/bash oracle:x:1001:1002::/home/oracle:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false itcast:x:1002:1003::/home/itcast:/bin/bash [deng@localhost test]$4.3 從第n行開始顯示文件的內容
從第n(這里為 40)行開始顯示文件的內容,直至文件末尾。
[deng@localhost test]$ tail -n +40 /etc/passwd avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin deng:x:1000:1000:deng:/home/deng:/bin/bash oracle:x:1001:1002::/home/oracle:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false itcast:x:1002:1003::/home/itcast:/bin/bash [deng@localhost test]$4.4 輸出最后n 個字節的內容
使用 -c 選項,可以指定顯示文件的最后 n(這里為 5)個字節的內容。
[deng@localhost test]$ tail -c 5 /etc/passwd bash [deng@localhost test]$4.5 顯示多文件最后k行,并且不顯示文件名的文件頭
[deng@localhost test]$ tail -q -n 2 a.txt file.txt /home ============================== adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [deng@localhost test]$4.6 顯示多文件最后k行,并且顯示文件名的文件頭
[deng@localhost test]$ tail -n 2 a.txt file.txt ==> a.txt <== /home ================================> file.txt <== adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [deng@localhost test]$4.7 當文件增長時,動態查看文件追加的內容
由于a.txtg隨時會有資料寫入,想要讓該檔案在有資料寫入時就立刻顯示到屏幕上,就利用 -f 選項,可以一直偵測該檔案,新加入的資料都會被顯示到屏幕上,直到按下 Ctrl + C 才會離開。
[deng@localhost test]$ tail -f a.txt /etc/passwd /home ============================== hello world4.8 組合使用
列出輸出的最后5行
[deng@localhost test]$ cat /etc/passwd | tail -n 5 tcpdump:x:72:72::/:/sbin/nologin deng:x:1000:1000:deng:/home/deng:/bin/bash oracle:x:1001:1002::/home/oracle:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false itcast:x:1002:1003::/home/itcast:/bin/bash [deng@localhost test]$05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——tail命令(42)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——h
- 下一篇: 【Linux】一步一步学Linux——n