我打开了两个终端测试了下tail命令的实时监控,但没有成功

来源:3-5 浏览和切换目录

OP卡塔库栗

2020-05-06

图片描述

写回答

1回答

Oscar

2020-05-11

Vim 是将原来的文件删除后,然后再生成一个新的文件。而 tail -f 命令是根据文件的 inode 来追踪文件的。Vim 把原来的文件删除,新生成的同名文件的 inode 已经发生了变化,所以导致 tail -f 命令失效。

echo haha >> hello.txt

是可以生效的。


结论:tail -f 命令通过 inode 追踪文件,如果文件的 inode 发生了变化,将会使 tail -f 失效。


解决方案:使用 tail -F 替代 tail -f,根据 man tail 的说明,tail -F 在文件不可以打开的时候,会重试打开该文件,也就是在 Vim 删除旧文件,创建新文件的过程中,tail 短暂性失去了对 hello.txt 文件的访问权限,加上 -F 选项后,tail 在文件恢复访问后可以重新对文件实施跟踪。

1
1
OP卡塔库栗
非常感谢!以测试成功
2020-05-12
共1条回复

Linux核心技能与应用

一网打尽Linux必备核心技能,面试、升职必备的“敲门砖”。

2091 学习 · 692 问题

查看课程