开发者社区> wljslmz> 正文

Linux tail命令该如何使用?这篇文章讲的十分详细!

简介: Linux tail命令该如何使用?这篇文章讲的十分详细!
+关注继续查看

今天我们在来介绍一下 tail,顾名思义,tail 命令输出单个或多个文件的最后部分内容。默认情况下,tail 命令将会打印文件的最后 10 行内容。在实际应用中,我们经常用它来实时读取日志文件。

tail 命令的语法结构如下所示:

tail [options] [files]

作为演示,我们使用如下文件内容来介绍 tail 命令:

你好,这里是wljslmz。

我的公众号ID为:

wljslmz

我的博客+论坛网址为:

https://www.wljslmz.cn/

推荐一个工程师导航网址:

https://www.wljslmz.com/

刚刚我们提到过,tail 命令默认会显示文件的最后 10 行内容,但是当文件内容总共不足 10 行时,会显示整个文件的内容。

当然大多数情况下,我们不使用它的默认行为,而是根据实际情况来选择应用,接下来我们根据例子来逐个介绍下。

使用 tail 命令打印文件的最后 x 行内容

打印文件的最后 x 行内容(而不是默认的最后 10 行),可参考如下语法结构:

tail -n x <filename>

比如,查看文件的最后 5 行内容:

tail -n 5 wljslmz

输出:

小提示:你也可以直接使用 tail -x 而不是 tail -n x 来显示最后 x 行内容。

打印从 x 行开始往后的所有内容

如果想要打印从 x 行开始往后的所有内容,可使用 +x 选项,如下所示:

tail -n +x <filename>

比如,我们的示例文档,想要打印从第 7 行开始的所有内容,如下:

tail -n +7 wljslmz

输出:

使用 tail 命令同时查看多个文件

使用 tail 命令可以同时查看多个文件。其语法结构如下所示:

tail -n N <file1> <file2> <file3>

与 head 命令类似,查看的各个文件名会显示在输出中。比如,我们想要查看 wljslmz 和 yunwei 的最后 3 行,如下所示:

tail -n3 wljslmz yunwei

输出:

提示,使用 -q 选项可以在输出中不显示文件名信息。

使用 tail 命令实时监视文件

假设我们有一个文件,其内容会实时增加(比如日志文件),tail 命令可以帮助我们实时查看新添加到文件中的内容。这个功能可通过使用 -f 选项来实现:

tail -f <log-file>

示例:

tail -f wljslmz

输出:

上述命令会首先显示文件的最后 10 行内容,然后当文件有新的内容增加时,也会将新的内容实时输出到终端中。这个功能被广泛用于读取日志文件,这也可能是 tail 命令最常见的用法。

提示:如果使用 -F 选项代替 -f 选项,tail 命令会等待输入文件创建(如果不存在)后,在实时显示文件的内容。

在管道重定向中使用 tail 命令

tail 命令还可以结合管道重定向来使用。比如,假如在一个目录中有许多文件,我们只想查看最后 3 个修改过的文件,那么可以按如下方式:

ls -ltr | tail -n3

示例:

ls -ltr | tail -n3 wljslmz

输出:

上述命令中,ls -lrt 按时间顺序倒叙列出所有文件,然后通过管道重定向将输出给到 tail 命令,tail 命令解析这个输出,只显示其最后的 3 行,这 3 行内容就是我们所需要的最近 3 个修改的文件列表。

在 tail 命令的输出中显示行号

我们在查看某个文档的时候,如果文档中可以显示行号,那么对于我们来说是非常友好的,比如我们想要查看当前正在阅读的在多少行,整个文件有多少行内容,等等。

不过,tail 命令并没有内置的显示行号的功能。不过我们可以通过其他方式来实现这一功能,那就是通过使用 nl 命令以及管道重定向结合 tail 命令来实现。

nl 命令可以在文件内容中显示行号,将其输出通过管道重定向到 tail 命令中,就可以满足我们的需求。如下所示:

nl <filename> | tail -3

示例:

nl wljslmz | tail -3

输出:

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
5分钟学会在Linux上安装Oracle和一条命令创建数据库
在Linux上安装Oracle软件的过程相当复杂,让很多初学者望而却步。但在Oracle 18c以后Oracle推出了使用rpm包安装Oracle数据库软件的安装方式
10 0
Linux - CPU性能评估_详解查看CPU性能的命令
Linux - CPU性能评估_详解查看CPU性能的命令
31 0
【Linux】echo命令用法详解
echo命令是脚本语言中的常用命令,作用相当于C语言里面的printf。在shell中,可以打印变量的值,或者输出指定的字符串,可以将结果写入到文件,也可以打印在终端。echo命令可以在显示器上显示一段文字,起到提示的作用,对于调试非常有帮助。
16 0
常用Linux命令 - 文件操作命令
作用:创建空文件或者修改文件时间
36 0
常用Linux命令 - 目录和文件都能操作的命令
rm 是强大的删除命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。
28 0
常用Linux命令 - 帮助命令
上箭头 向上移动一行 下箭头 向下移动一行 PgUp 向上翻一页 PgDn 向下翻一页 g 移动到第一页
27 0
常用Linux命令 - 搜索命令
whereis 是搜索系统命令的命令(像绕口令一样),也就是说,whereis 命令不能搜索普通文件, 而只能搜索系统命令。whereis 命令的基本信息如下。
31 0
常用Linux命令 - 权限管理的基本命令
第一列的权限位如果不计算最后的“.”(这个点的含义为seLinux 保护),则共有 10 位,这 10位权限位的含义如图
10590 0
【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题
【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题
34 0
+关注
wljslmz
公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南 之 Linux系统诊断
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像