Tail (Unix)

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

 實作 
FreeDOS版本是由M.Aitchison开发的。

tail命令也是ASCII的MSX-DOS版本2的MSX-DOS2工具的一部分。

pctail是使用Python編寫的，可以对syslog的尾部进行着色並輸出。

MultiTail不仅可以用颜色显示日志文件，还可以对一个终端窗口进行合并、过滤、回滚和分割成子窗口，它多少是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。

 參見 
head (Unix)
less (Unix)
Unix指令列表

 參考來源 

 外部鏈接 

 GNU Project documentation for tail 



Category:Unix SUS2008实用工具
Category:Unix文字处理实用工具