在linux中,tail命令用来查看文件末尾的数据,可显示一个或多个文件或管道数据的最后一部分(默认为10行),语法“tail [选项] 文件名”;常用选项“-n”用于指定要显示的行数、“-c”用于指定要显示的特定字节数、“-f”用于监视文件的更改。tail命令最常见的用途之一就是监视和分析日志和其他随时间变化的文件,通常与grep等其他工具结合使用。
本教程操作环境:linux7.3系统、Dell G3电脑。
Linux tail命令
tail命令显示一个或多个文件或管道数据的最后一部分(默认为10行);可用于实时监控文件更改。tail命令最常见的用途之一就是监视和分析日志和其他随时间变化的文件,通常与grep等其他工具结合使用。
基本语法:
tail [OPTION] FILE
OPTION: tail选项,下面我们来看看最常见的一些选项。
-n(--lines)选项:指定要显示的行数
-c(--bytes)选项:指定要显示的特定字节数
-f(--follow)选项:监视文件的更改
FILE:零个或多个输入文件名。如果未指定FILE,或者FILE为-,则tail将读取标准输入。
说明:
选项 | 含义 |
---|---|
-n K |
这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。 |
-c K |
这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。 |
-f | 输出文件变化后新增加的数据。 |
如何使用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
-f选项对于监视日志文件特别有用。 例如,要显示/var/log/nginx/error.log文件的最后10行,并监视该文件是否有要使用的更新:
tail -f /var/log/nginx/error.log
要在监视文件时中断tail命令,需要按ctrl+c。
要在重新创建文件时继续监视该文件,需要使用-f选项:
tail -f filename.txt
-f选项在tail命令跟随旋转的日志文件时非常有用。当与-f选项一起使用时,tail命令将在文件再次可用时重新打开。
如何显示多个文件
如果有多个文件作为tail命令的输入提供,它将显示每个文件的最后十行。
tail filename1.txt filename2.txt
用户可以使用与显示单个文件时相同的选项。
例如:显示文件filename1.txt和filename2.txt的最后20行
tail -c 20 filename1.txt filename2.txt
如何和其他命令一起使用?
tail命令可以与其他命令结合使用,例如,要监视Apache访问日志文件,并且只显示包含IP地址192.168.42.12的行,可以使用:
tail -f /var/log/apache2/access.log | grep 192.168.42.12
或者显示按CPU使用率排序的前十个运行进程:
ps aux | sort -nk +3 | tail -5
相关视频教程推荐:《Linux教程》
以上是linux tail命令怎么用的详细内容。更多信息请关注PHP中文网其他相关文章!