Linux Tail 命令

・5 分钟阅读

tail命令显示一个或多个文件或管道数据的最后部分(默认为10行),它也可以用于实时监视文件更改。

tail命令最常见的用途之一是监视和分析随时间变化的日志和其他文件,通常与其他工具(如grep)一起使用。

在本教程中,通过实例向你展示如何使用Linux tail命令,并详细解释最常见的tail选项。

Tail命令语法

在使用tail命令之前,先回顾一下基本的语法。

tail命令表达式采用以下格式:


tail [OPTION]... [FILE]...

  • OPTION,在下一节讨论最常见的选项
  • FILE - 零个或多个输入文件名,如果没有指定文件,或者当FILE为-时,tail将读取标准输入

如何使用Tail命令

不带选项时,tail命令以它最简单的形式显示最后10行。

tail filename.txt

如何显示特定行数

使用-n ( --lines )选项指定要显示的行数:

tail -n <NUMBER> filename.txt

也可以省略字母n,只使用连字符( - )和数字(他们之间没有空间)。

要显示名为filename.txt的文件的最后50行,可以使用:

tail -n 50 filename.txt

以下示例显示与上述命令相同的结果:

tail -50 filename.txt

如何显示特定数量的字节

要显示特定的字节数,请使用-c ( --bytes )选项。

tail -c <NUMBER> filename.txt

例如要显示名为filename.txt的文件中的最后500字节数据,可以使用:

tail -c 500 filename.txt

以下命令显示文件( 2048 ) filename.txt的最后两个千字节:

tail -c 2k filename.txt

如何监视文件更改

要监视文件的更改,请使用-f ( --follow )选项:

tail -f filename.txt

此选项对于监视日志文件尤其有用,例如要显示/var/log/nginx/error.log文件的最后10行,并监视该文件的更新,你将使用:

tail -f /var/log/nginx/error.log

要在监视文件时中断tail命令,请按Ctrl+C

要在重新创建文件时继续监视该文件,请使用-f选项。

tail -f filename.txt

当tail命令跟随一个回滚的日志文件时,此选项非常有用,-f选项一起使用时,tail命令将在文件再次可用时立即重新打开该文件。

如何显示多个文件

如果有多个文件作为tail命令的输入,它显示每个文件中的最后十行。

tail filename1.txt filename2.txt

可以使用与显示单个文件相同的选项,

以下示例显示了文件filename1.txtfilename2.txt的最后20行:

tail -n 20 filename1.txt filename2.txt

如何在其他命令中使用Tail

通过使用管道将标准输出从其他程序重定向到其他程序,可以将tail命令与其他命令结合使用。

例如要监视apache访问日志文件,只显示包含IP地址192.168.42.12的那些行,使用:

tail -f /var/log/apache2/access.log | grep 192.168.42.12

以下ps命令显示按CPU使用率排序的前十个正在运行的进程:

ps aux | sort -nk +3 | tail -5

结束语

现在你应该对如何使用Linux tail命令有很好的理解。

讨论
Syq2803 profile image