Linux tail命令

时间:2020-03-05 15:28:41  来源:igfitidea点击:

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

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

在本教程中,我们将通过实际示例和最常见的tail选项的详细说明,向我们展示如何使用Linux tail命令。

tail命令语法

在开始使用tail命令之前,让我们先回顾一下基本语法。

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

tail [OPTION]... [FILE]...
  • 'OPTION'- tail选项。

我们将在下一部分中介绍最常见的选项。

  • 'FILE'-零个或者多个输入文件名。如果未指定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

我们也可以在数字后面使用乘数后缀来指定要显示的字节数。
“ b”乘以512,“ kB”乘以1000,“ K”乘以1024,“ MB”乘以1000000,“ M”乘以1048576,依此类推。

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

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.txt'和'filename2.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