Skip to main content

如何使用尾部命令在Linux中查看文件的结尾

Microsoft Azure OpenDev—June 2017 (六月 2025)

Microsoft Azure OpenDev—June 2017 (六月 2025)
Anonim

Linux中有两个非常有用的命令,可以让您查看文件的一部分。第一个称为head,默认情况下,它显示文件中的前10行。第二个是 尾巴 默认情况下,命令可以查看文件中的最后10行。

你为什么要使用这些命令中的任何一个?为什么不使用cat命令查看整个文件或使用nano等编辑器?

想象一下,你正在阅读的文件中有300,000行。想象一下,该文件会占用大量磁盘空间。

head命令的一个常见用途是确保要查看的文件确实是正确的文件。您通常可以通过查看前几行来判断您是否正在查看正确的文件。然后,您可以选择使用nano等编辑器来编辑文件。

tail命令对于查看最后几行文件非常有用,当您想要查看/ var / log文件夹中保存的日志文件中发生的情况时,它非常有用。

本指南将向您展示如何使用tail命令,包括所有可用的开关。

示例用法

如前所述,tail命令默认显示文件的最后10行。

tail命令的语法如下:

尾巴

例如,要查看系统的引导日志,可以使用以下命令:

sudo tail /var/log/boot.log

输出将是这样的:

*启动启用剩余启动时加密块设备确定*开始保存udev日志和更新规则确定*停止保存udev日志和更新规则确定*禁用语音调度员;编辑/ etc / default / speech-dispatcher* VirtualBox Additions已禁用,不在虚拟机中残疾人;编辑/ etc / default / saned*恢复解析器状态… 确定*停止System V运行级别兼容性确定*启动MDM显示管理器确定*停止发送事件以指示普利茅斯已启动确定

如何指定要显示的行数

也许你想看到超过文件的最后10行。您可以使用以下命令指定要查看的行数:

sudo tail -n20

上面的例子将显示该文件的最后20行。

或者,您可以使用 -n 切换到指定文件中的起始点。也许您知道文件中的前30行是注释,您只想查看文件中的数据。在这种情况下,您将使用以下命令:

sudo tail -n + 20

tail命令通常与。一起使用 更多 命令,以便您可以一次读取一个页面的文件。

例如:

sudo tail -n + 20 |更多

上面的命令从filename发送最后20行,并将其作为more命令的输入进行管道:

您还可以使用tail命令显示一定数量的字节而不是行:

sudo tail -c20

您可以再次使用相同的开关从某个字节编号开始显示,如下所示:

sudo tail -c + 20

如何监视日志文件

有许多脚本和程序不会输出到屏幕,但会在运行时附加到日志文件中。

在这种情况下,您可能希望在更改日志文件时对其进行监视。您可以使用以下tail命令检查日志如何每隔几秒更改一次:

sudo tail -F -s20

您还可以使用tail继续监视日志,直到进程终止,如下所示:

sudo tail -F --pid = 1234

要查找进程的进程ID,可以使用以下命令:

ps -ef | grep的

例如,假设您正在使用nano编辑文件。您可以使用以下命令找到nano的进程ID:

ps -ef | grep nano

该命令的输出将为您提供进程ID。想象一下进程ID是1234。

现在,您可以使用以下命令对nano编辑的文件执行尾部操作:

sudo tail -F --pid = 1234

每次将文件保存在nano中时,tail命令将在底部拾取新行。该命令仅在nano编辑器关闭时停止。

如何重试tail命令

如果在尝试运行tail命令时收到错误,因为由于某些原因它无法访问,那么您可以使用 重试 在文件可用之前保持重试的参数。

sudo tail --retry -F

这只适用于 -F 切换,因为你需要跟随文件想要重试。

摘要

要查找有关tail命令的更多信息,可以使用以下命令:

男人的尾巴

你会注意到我们已经包括在内 须藤 在大多数命令中。仅当您没有普通用户的权限才能查看文件且需要提升权限时,才需要这样做。