在日常操作系统的使用过程中,文件扮演着至关重要的角色,它是我们频繁且必须进行交互的对象。尤其是当我们需要查看文件内容时,有一个非常实用的终端工具可以满足我们的需求,它就是tail。
tail 命令的作用是从特定位置开始将文件内容输出到标准输出。
简单来说,就是将你希望展示的文件,从设定的位置开始,呈现在终端界面上。

有一个特别有用的选项叫做-f,通过这个选项,我们可以实时查看动态变化的日志文件。使用tail -f filename命令,会将filename文件中最末尾的部分内容显示在屏幕上,并且持续刷新,这样你看到的始终都是最新的文件内容,从而方便我们通过日志即时监控相应软件的运行情况。
为了更好地演示tail的用法,我编写了一个简单的shell脚本,该脚本的功能是每隔1秒钟,向文件中写入一行数据。具体内容如下:
执行命令:
tail test.log
从执行结果中可以看到,会显示出当前test.log文件的全部内容。
那么,如果只想打印部分行数呢?
我们可以使用:tail -n filename
例如:想要查看最后2行的内容:
只需输入 tail -2 test.log
结果完全符合预期。
接下来,我们再来看看上面提到的 -f 参数,它能够实现实时显示功能。由于我们在shell中设置的写入次数是10000,短时间内显然无法完成所有写入操作,因此我们可以直接使用 tail -f test.log 来观察动态效果:
如上图所示,在执行命令并按下回车键后,会发现屏幕内容持续变化。这是因为我的shell脚本设定了每隔1秒写入一次数据,所以屏幕会每隔1秒更新一次当前时间,从而有效地验证了 tail -f 实时监控日志的功能。
注:在阅读到这里时,可能会有一些同学提出疑问:为什么我的命令提示符显示的是 [root@haoqixin ~], 而你们的却是[root@localhost ~]呢?
这是因为我修改了系统的主机名。在Linux系统中,可以通过hostname或hostnamectl命令来更改主机名,具体的操作方法可以参考相关文档。
关于tail命令的关键使用方法,基本上就是这些内容。现在,你学会了吗?