Linux Tail 命令
Syq2803
・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.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
结束语
现在你应该对如何使用Linux tail命令有很好的理解。