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使用率排序的前10个运行中的进程。
ps aux | sort -nk +3 | tail -5
总结
现在你应该对如何使用Linux的tail命令有了很好的了解。它是对head命令的补充,后者将一个文件的第一行打印到终端上。