Linux有很多工具来显示文件内容。猫,少,尾巴, 等等,是其中的一些。它们有不同的功能和使用领域。尾部主要是开发出来的,用来显示文件的结尾。我们将研究tail命令的不同特性和用法示例。
tail命令语法
我们将使用以下语法 tail
命令。
tail [OPTION]... [FILE]...
tail命令帮助
我们可以通过提供选项来获得关于tail命令的帮助信息 --help
.
$ tail --help

用tail命令打印最后10行
我们将开始简单地跟踪一个文件。我们将使用驻留在 /var/log
目录。我们将尾随 auth.log
提供身份验证相关日志的文件。默认情况下,Tail命令打印所提供文件的最后10行并退出。
$ tail /var/log/auth.log

指定计数 要显示的行数
在前面的示例中,我们没有提供任何选项或参数来指定从文件末尾开始显示的行数。所以尾部默认只显示最后10行。但是我们可以用 -n
选项。在本例中,我们将显示 auth.log
文件。
$ tail -n 25 /var/log/auth.log

指定计数 字节数 显示
到目前为止,在示例中,我们已经指定了行计数,但是还有另一种类型的度量来显示文件尾。我们可以指定从文件末尾开始显示的字节数。我们将使用 -c
参数指定字节计数。在本例中,我们将只显示从 auth.log
文件。
$ tail -c 200 /var/log/auth.log

正如我们所能看到的,输出是非常少的,因为每个字符被计为一个字节。
相关文章: 如何使用PHP Exec和示例执行Shell命令?
使用tail命令显示多个文件
在某些情况下,我们可能需要在一个尾部显示多个文件 命令。tail命令中已经有此功能。只需在tail命令的末尾添加其他文件。在本例中,我们将列出文件 auth.log
, syslog
和 dpkg.log
.
$ tail -n 25 /var/log/auth.log /var/log/syslog /var/log/dpkg.log

正如我们所看到的,每个文件内容都用分隔符和文件名分隔,如下所示。
==> /var/log/syslog <==
显示器 以交互方式或跟随tail命令添加新的行
tail命令最常用的特性之一是以下文件。此功能通常用于调试和故障排除的日志文件。使用此选项,打印完文件后,尾部不会退出。它将等待更多的内容被实时添加到文件中。如果文件中添加了更多内容,则内容将以尾部显示。在本例中,我们等待新的日志 auth.log
文件。
$ tail -f /var/log/auth.log

我们登录系统 ubu2
在07:21:59创建新日志并将其添加到 auth.log
文件。这些日志以尾部自动实时显示。尾迹 auth.log
更改的文件。
使用tail命令筛选行
在某些情况下,我们可能要查看很多日志,但只搜索日志中的一些文本。我们需要一些过滤机制来查看文件的结尾。这里我们将使用外部工具 grep
筛选日志。我们将只过滤那些包含 文本 ismail
int最后10行 auth.log
$ tail /var/log/auth.log | grep ismail

用tail命令指定文件后面的间隔值
实时跟踪或跟踪。实时性意味着每当一些文本附加到文件末尾时,这个文本就会被尾部打印出来。如果有很多输入,而读取这些输入会影响系统的性能,我们需要一个更轻松的选项。这里我们可以指定以下文件的间隔。添加的行将不会实时打印。它们将按指定的间隔打印。在下面的示例中,我们将使用2秒作为间隔值。
$ tail -s 2 -f /var/log/auth.log

指定读取重试计数
在读取输入时,有时会出现问题,从而阻止读取文件。如果出现与读取相关的问题,默认情况下将退出tail。我们可以通过设置一些重试来更改此行为。这些选项可以通过 --retry
选项。在这个例子中,我们将阅读 auth.log
使用重试选项。
$ tail --retry -f /var/log/auth.log

退出交互模式
不遵循文件尾将自动退出。但如果tail跟踪一个文件,它将永远工作。如果我们想出去杀了尾巴 CTRL+c
可以在控制台中使用快捷方式。
CTRL+c

删除标题行
之前,我们已经研究了跟踪多个文件。当使用多个文件时,将使用一些分隔符来设置单独文件的开头,并提供文件名。此标题行可以用 -q
选项。
$ tail -n 5 -q /var/log/auth.log /var/log/syslog /var/log/dpkg.log
