tail 查阅日志

Linux中tail命令可用于打印文本文件中起始若干行或末尾若干行的内容,经常用于实时监控日志文件、快速查看大型文件的最后几行等场景,下面我们介绍一些用法实例。

tail常见用法

-n选项能打印文本文件中的若干行内容,下面命令可输出文件中最后10行内容。

tail -n 10 access.log

以下命令输出文件中从第10行(含)开始到末尾的所有内容。

tail -n +10 access.log

-f参数可滚动打印新追加写入的内容,当文件被追加写入时,显示的内容也会滚动更新,因此tail -f命令特别适合用于查看持续追加写入的日志文件。

tail -f access.log

此外-n-f也能组合使用,以下命令会先输出文件最后10行,然后继续实时滚动显示新增内容,常用于查看最近日志并监控后续变化。

tail -n 10 -f access.log

tail的妙用

tail还有一个神奇的用法。

tail -f /dev/null

上述命令效果和代码中写while (true)的目的类似,该命令能保持进程在前台运行而不执行任何实际操作,常用于在Docker容器中防止主进程退出,例如用于调试目的或保持“空”容器运行。不过直接使用tail -f /dev/null启动的“空”容器init进程是tail,内部如果再启动其它进程,进程结束后可能产生僵尸进程,因此如果容器内有tini,下面命令是更好的实现方式。

tini -- tail -f /dev/null
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。