Linux tail命令显示文件末尾的数据。它甚至可以实时显示添加到文件中的更新。我们教你如何使用它。
tail命令显示文件末尾的数据。通常,新数据会添加到文件的末尾,因此tail命令是查看文件中最新添加内容的一种快速简便的方法。它还可以监视一个文件,并在出现新的文本条目时显示该文件。这使它成为监视日志文件的好工具。
许多现代Linux发行版都采用了systemd系统和****器。这是执行的第一个进程,它的进程ID为1,是所有其他进程的父进程。此角色以前由旧的init系统处理。
伴随着这一变化而来的是一种新的系统日志文件格式。在systemd下,它们不再以纯文本形式创建,而是以二进制格式记录。要读取这些日志文件,必须使用journactl实用程序。tail命令适用于纯文本格式。它不读取二进制文件。那么,这是否意味着tail命令是寻找问题的解决方案呢?它还有什么可以提供的吗?
tail命令不仅仅是实时显示更新。对于这一点,仍然有大量的日志文件不是系统生成的,仍然是作为纯文本文件创建的。例如,应用程序生成的日志文件没有更改其格式。
将文件名传递给tail,它将显示该文件的最后10行。我们使用的示例文件包含排序单词的列表。每一行都有编号,因此应该很容易按照示例进行操作,并查看各种选项的效果。
tail word-list.txt要查看不同的行数,请使用-n(行数)选项:
tail -n 15 word-list.txt实际上,您可以省去“-n”,只使用连字符“-”和数字。确保它们之间没有空格。从技术上讲,这是一个过时的命令表单,但它仍然在手册页中,并且仍然有效。
tail -12 word-list.txt你可以同时处理多个文件。只需在命令行上传递文件名:
tail -n 4 list-1.txt list-2.txt list-3.txt每个文件都会显示一个小的头文件,这样就可以知道行属于哪个文件。
+(从开始计数)修饰符使尾部显示从文件开始的行,从特定行号开始。如果您的文件很长,并且您选择了靠近文件开头的一行,那么您将得到大量发送到终端窗口的输出。如果是这样的话,将tail的输出导入less是有意义的。
tail +440 list-1.txt你可以用一种受控的方式翻阅文本。
由于此文件中恰好有20445行,因此此命令相当于使用“-6”选项:
tail +20440 list-1.txt您可以使用-c(bytes)选项,告诉tail使用字节而不是行的偏移。如果您有一个文本文件,它格式化为常规大小的记录,这可能会很有用。注意,换行字符计数为一个字节。此命令将显示文件中最后93个字节:
tail -c 93 list-2.txt您可以将-c(bytes)选项与+(从文件开始计数)修饰符结合使用,并以从文件开始计数的字节为单位指定偏移量:
tail -c +351053 list-e.txt早些时候,我们通过管道将tail的输出传输到less。我们还可以将其他命令的输出通过管道传输到tail中。
要标识修改时间最早的五个文件或文件夹,请使用ls的-t(按修改时间排序)选项,并将输出导入tail。
ls -tl | tail -5head命令列出文件开头的文本行。我们可以将其与tail结合起来提取文件的一部分。在这里,我们使用head命令从文件中提取前200行。这是被输送到尾巴,这是提取最后十行。这是第191行到第200行。即前200行中的最后10行:
head -n 200 list-1.txt | tail -10这个命令列出了五个最需要内存的进程。
ps aux | sort -nk +4 | tail -5我们把它分解一下。
ps命令显示有关正在运行的进程的信息。使用的选项包括:
sort命令对ps的输出进行排序。我们用于排序的选项有:
tail-5命令显示排序输出的最后五个进程。这是五个最需要内存的进程。
跟踪新的文本条目到达一个文件通常是一个日志文件很容易与尾巴。在命令行上传递文件名并使用-f(follow)选项。
tail -f geek-1.log当每个新的日志条目添加到日志文件中时,tail会更新其在终端窗口中的显示。
您可以优化输出,使其仅包含具有特定相关性或兴趣的行。在这里,我们使用grep只显示包含单词“average”的行:
tail -f geek-1.log | grep average要跟踪对两个或多个文件的更改,请在命令行上传递文件名:
tail -f -n 5 geek-1.log geek-2.log每个条目都带有一个标题,显示文本来自哪个文件。
每次新条目到达后续文件时,显示都会更新。要指定更新周期,请使用-s(sleep period)选项。这告诉tail在文件检查之间等待几秒钟,在本例中为5秒钟。
tail -f -s 5 geek-1.log诚然,你不能通过看屏幕截图来判断,但是文件的更新每两秒钟就发生一次。新的文件条目每五秒钟在终端窗口中显示一次。
当您跟踪多个文件的文本添加时,可以抑制指示文本来自哪个日志文件的标头。使用-q(安静)选项执行以下操作:
tail -f -q geek-1.log geek-2.log文件的输出以文本的无缝混合方式显示。没有迹象表明每个条目来自哪个日志文件。
尽管现在journalctl提供了对系统日志文件的访问,但tail仍然提供了很多功能。尤其是当它与其他命令结合使用时,通过管道进入或离开尾部。
systemd可能已经改变了环境,但是对于符合Unix哲学的传统实用程序来说,仍然有一个位置,那就是做一件事并且把它做好。
... 无论您敏感工作的性质如何,您都将受益于这五种安全的Linux操作系统之一。 ...
... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...
... 别开玩笑了,如果你想知道如何以安全匿名的方式访问黑暗网络,那就继续阅读吧。当你想进入黑暗的网络时,你需要采取一些关键的步骤。 ...
... 如何在windows10上安装linux bash shell ...
当你想访问黑暗的网络时,你需要使用一个知道如何访问内容的浏览器。像Chrome和Safari这样的浏览器是不合适的。 ...
想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...
...复您过去运行的命令。一旦您了解了Linux history命令以及如何使用它,它就可以显著地提高您的生产效率。 操纵历史 正如乔治桑塔亚纳(georgestantayana)的一句名言:“那些记不住过去的人注定要重蹈覆辙。”不幸的是,在Linux...
...和术语。按less中的正斜杠“/”键启动搜索功能。 相关:如何在Linux上使用less命令 不再需要sudo 如果希望避免每次使用dmesg时都必须使用sudo,可以使用以下命令。但是,请注意:它允许任何拥有您的计算机用户帐户的人使用dmesg...
...命令之一。也许这是问题的一部分。有这么多的选择,你如何从中筛选出有用的呢?找到它们之后,你怎么记得它们? ls命令及其选项和参数字符串的有用排列是别名的最佳候选。实际上,在大多数发行版中,您认为的“裸”ls...
...安全的例子,通过默默无闻,这一概念是根本上的缺陷。如何访问系统的秘密是安全的,因为只有特定组中的人知道它。但是一旦这个秘密被泄露,或者因为它被揭露,被观察,被猜测,或者被解决了,你的安全就无效了。最好...