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 (英语).