tail (Unix)
此條目需要補充更多來源。 (2021年3月16日) |
tail是Unix、類Unix系統、FreeDOS和MSX-DOS上的一個程式,用於顯示文字檔案或管道資料的尾部。
開發者 | 多個開放原始碼和商業開發者 |
---|---|
作業系統 | Unix, Unix-like, Plan 9, Inferno, MSX-DOS, FreeDOS |
平台 | 跨平臺 |
類型 | 指令 |
許可協定 | Plan 9: Lucent Public License or GPLv2 coreutils: GPL 3.0+ |
實作
編輯FreeDOS版本是由M.Aitchison開發的。[1]
tail
命令也是ASCII的MSX-DOS版本2的MSX-DOS2工具的一部分。[2]
pctail
是使用Python編寫的,可以對syslog的尾部進行著色並輸出。[3]
MultiTail不僅可以用顏色顯示紀錄檔檔案,還可以對一個終端窗口進行合併、過濾、轉返和分割成子窗口[4],它多少是tail、sed、watch、CCZE/pctail、grep、diff、Beeper等的組合。
用法
編輯命令語法是:
tail [options] <filename>
預設情況下,tail會將其輸入的最後10行輸出到標準輸出。通過命令列選項,可以改變輸出量和單位(行、塊或位元組)。
> tail -n1 report-13* ==> report-1301 <== Total tons output for month of January '13 was 523 ==> report-1302 <== Total tons output for month of February '13 was 272 ==> report-1303 <== Total tons output for month of March '13 was 623
這個例子輸出了報告的最後4個字元,並使用--slient
禁止了檔名的顯示。請注意,計數包括每行末尾的換行符,因此輸出的結果並不包括預期的前導空格。
> tail --silent -c4 report* 523 272 623
這個例子顯示了從第二行開始的所有行。
tail -n +2 report
使用舊的語法(在Sun Solaris的舊版本中仍然使用,因為不支援-n
選項),最後20行和最後50個位元組的檔名可以用以下命令顯示。
tail -20 filename
tail -50c filename
然而這種語法現在已經過時了,不符合POSIX 1003.1-2001標準。即使在當前的版本中仍然支援,當與其他選項(如 -f
,見下文)一起使用時,這些選項可能根本無法工作。
與所有的Unix命令一樣,使用系統上的手冊頁來取得特定的選項和操作。
檔案監控
編輯此章節翻譯品質不佳,原文在en:tail (Unix)。 |
tail有兩個特殊的命令列選項:「-f」和「-F」(follow),允許監視一個檔案。tail不是只顯示最後幾行然後退出,而是顯示這些行,然後監視檔案。當其他行程向檔案中添加新行時,tail會更新顯示。這對於監控紀錄檔檔案特別有用。古老版本的tail預設每秒鐘輪詢一次檔案,但GNU核心工具組 7.5版本的tail支援2005年8月Linux核心2.6.13版本中引入的inotify基礎架構,只有當核心通知檔案發生變化時才會檢查檔案。
下面的命令將顯示最後10行資訊,並在資訊中添加新行時追加新行。
tail -f /var/adm/messages
為了保持跟蹤紀錄檔,即使它被重新建立、重新命名或作為紀錄檔輪換的一部分被刪除,至少BSD和GNU的實現提供了一個-F選項,這在使用者跟蹤一個會輪換的紀錄檔檔案時很有用。
tail -F /var/adm/messages
要在tail監控時中斷它,用Ctrl+C
中斷。
有一個GNU Emacs的模式可以類比tail -f
的功能,稱為auto-revert-tail-mode。
參見
編輯參考來源
編輯- ^ ibiblio.org FreeDOS Package -- tail (Unix-like). www.ibiblio.org. [2021-03-16]. (原始內容存檔於2019-03-02) (英語).
- ^ MSX-DOS2 Tools User's Manual - MSX-DOS2 TOOLS ユーザーズマニュアル. April 1, 1993 –透過Internet Archive (jp).
- ^ pctail. SourceForge. [2021-03-16]. (原始內容存檔於2021-02-04) (英語).
- ^ Kalsi, Tajinder. Practical Linux Security Cookbook. Packt Publishing Ltd. 2016: 234–236 [22 September 2017]. ISBN 9781785285301 (英語).