开发工具

Shell之 tail 指令

tail 是 Unix 和类 Unix 系统中的一个命令行工具,用于查看文件的末尾部分。它通常用于监控日志文件或其他持续更新的文件,以便实时查看最新添加的内容。


基本语法

tail [选项] [文件...]

选项:用于修改 tail 命令的行为。

文件:要查看的文件列表。如果省略,tail 将从标准输入读取数据。


常用选项

-n:指定要显示的末尾行数。默认是 10 行。

-f:实时跟踪文件末尾的新增内容。通常用于监控日志文件。

-q:如果多个文件被指定,并且它们不是标准输入,则在每个文件的输出前不添加文件名。

-v:与 -q 相反,总是在每个文件的输出前添加文件名。

--pid=PID:与 -f 一起使用时,如果指定的进程 ID(PID)终止,则停止跟踪文件。

-s 或 --sleep-interval=S:与 -f 一起使用时,指定每次刷新输出前的休眠时间(秒)。

-c 或 --bytes=N:输出文件的最后 N 个字节,而不是行。


示例

1、显示文件的最后 10 行

tail filename

tail -n 10 filename


2、显示文件的最后 20 行

tail -n 20 filename


3、实时跟踪文件的新增内容

tail -f logfile.log


4、显示文件的最后 500 个字节

tail -c 500 filename


5、实时跟踪文件,并在指定进程终止后停止

tail --pid=PID -f logfile.log


注意事项

1、使用 tail -f 监控日志文件时,请确保你知道如何停止它(通常是按 Ctrl+C)。

2、如果同时监控多个文件,并且希望每个文件的输出前都有文件名,可以使用 -v 选项。

3、tail 命令对于监控持续更新的日志文件非常有用,但请注意,在高性能或高负载的系统上,持续运行 tail -f 可能会对系统性能产生一定影响。

4、在处理大文件时,tail 命令通常比 cat 命令更高效,因为它只需要读取文件的末尾部分。