Tail (Unix)

tail
開發者多個开放源码商业开发者
操作系统Unix, Unix-like, Plan 9, Inferno, MSX-DOS, FreeDOS
平台跨平臺
类型指令
许可协议Plan 9: Lucent Public License or GPLv2
coreutils: GPL 3.0+

tail是Unix、类Unix系统、FreeDOS和MSX-DOS英语MSX-DOS上的一个程序,用于显示文本文件或管道数据的尾部。

實作

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命令一样,使用系统上的手册页来获取特定的选项和操作。

文件监控

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。

參見

參考來源

  1. ^ ibiblio.org FreeDOS Package -- tail (Unix-like). www.ibiblio.org. [2021-03-16]. (原始内容存档于2019-03-02) (英语). 
  2. ^ MSX-DOS2 Tools User's Manual - MSX-DOS2 TOOLS ユーザーズマニュアル. April 1, 1993 –通过Internet Archive (jp).  引文格式1维护:未识别语文类型 (link)
  3. ^ pctail. SourceForge. [2021-03-16]. (原始内容存档于2021-02-04) (英语). 
  4. ^ Kalsi, Tajinder. Practical Linux Security Cookbook. Packt Publishing Ltd. 2016: 234–236 [22 September 2017]. ISBN 9781785285301 (英语). 

外部鏈接

維基教科書中的相關電子教程:Commands
文件系統
程序
  • at
  • bg
  • chroot
  • cron
  • fg
  • kill
  • killall英语killall
  • nice
  • pgrep
  • pkill英语pkill
  • ps
  • pstree英语pstree
  • time
  • top
用户环境
  • clear
  • env
  • exit
  • history英语history (Unix)
  • id
  • logname
  • mesg英语mesg
  • passwd
  • su
  • sudo
  • uptime
  • talk英语talk (software)
  • tput英语tput
  • uname
  • w
  • wall英语wall (Unix)
  • who
  • whoami
  • write英语write (Unix)
文本编辑
  • awk
  • banner英语banner (Unix)
  • basename
  • comm英语comm
  • csplit英语csplit
  • cut
  • diff
  • dirname
  • ed
  • ex
  • fmt英语fmt
  • fold英语fold (Unix)
  • head英语head (Unix)
  • iconv
  • join英语join (Unix)
  • less
  • more
  • nl英语nl (Unix)
  • paste英语paste (Unix)
  • sed
  • sort英语sort (Unix)
  • spell英语spell (Unix)
  • strings英语strings (Unix)
  • tail
  • tr
  • uniq英语uniq
  • vi
  • wc
  • xargs
壳层内建
网络
查找
文档
  • apropos英语apropos (Unix)
  • help英语help (command)
  • man
软件开发
杂项
  • bc
  • cal
  • dc
  • expr
  • lp英语lp (Unix)
  • lpr
  • sleep
  • true和false
  • yes