Linux tail命令
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