tail 命令
100%

文本操作 · 第 9 课

tail 命令

学习查看输入末尾,并在文件追加新内容时持续跟踪。

tail 命令显示文件或输入流的末尾。它还可以保持运行,并显示追加到文件中的数据,因此很适合观察日志。

显示最后十行

没有计数选项时,tail 会打印每个指定文件的最后 10 行:

$ tail application.log

如果文件不足 10 行,则打印所有现有行。文件本身不会改变。

tail application.log 默认显示什么?

选择行数或字节数

使用 -n NUMBER 选择不同数量的末尾行:

$ tail -n 20 application.log

需要末尾字节时,请使用 -c NUMBER

$ tail -c 100 payload.bin

字节模式可能从文本行或编码字符中间开始,因此文本通常使用行模式更清楚。

哪个命令会显示 application.log 的最后 20 行?

从指定行开始

计数前加 + 会改变含义:tail -n +N 从第 N 行开始,一直打印到末尾。

$ tail -n +5 report.txt

这会跳过前四行,从第 5 行开始。它适合从数据流中去掉已知数量的表头行。

哪个命令会从第 5 行开始打印 report.txt

跟踪追加的数据

使用 -f 时,tail 会先打印当前末尾,然后保持运行,继续显示追加的数据:

$ tail -f application.log

Ctrl+C 中断 tail 并返回 shell。跟踪文件只会显示新内容,并不能保证生成日志的应用程序运行正常,也不能保证所有相关事件都写入该文件。

哪个命令会显示 application.log 当前末尾,并继续等待追加内容?

按名称跟踪轮转日志

日志轮转可能重命名旧文件,再在原路径创建新文件。GNU tail -F 等同于按名称跟踪并重试,因此能重新打开被替换或暂时缺失的文件:

$ tail -F application.log

需要跟踪当前已打开文件时使用 -f;指定名称的日志预计会轮转时使用 -F。这些是 GNU 行为,其他实现可能不同。

在 GNU/Linux 上,哪个选项更适合在常见的重命名并重建式日志轮转过程中持续跟踪 application.log

未指定文件时,tail 会读取 stdin,因此可以选择命令输出的末尾。与 head 一样,指定多个文件时默认会显示标识标题。

要练习查看和跟踪文件末尾,可以尝试以下动手实验:

  1. Linux tail 命令:文件末尾显示 - 学习使用 tail 查看和监控文本文件末尾,包括使用 -f 获取实时更新。
  2. 在 Linux 中查看日志和配置文件 - 结合 tailcatmore 高效查看日志与配置文件。
  3. 快速威胁检测 - 使用 tail 快速提取和分析最近的日志条目。

课程已完成

你已完成 tail 命令

现在,你可以使用 tail 检查文件末尾并观察新追加的内容。

  • 默认显示最后十行。

  • 明确选择行数或字节数。

  • 使用 -n +N 从编号行开始输出。

  • 使用 -f 跟踪追加内容,并用 Ctrl+C 停止。

  • 指定名称的日志可能轮转时使用 GNU -F

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 文本操作