17 我一直tail -f a.txt在观看名为的文件的更新a.txt。 如果我ls -a >> a.txt在第二个虚拟控制台中使用类似的方式更新文件,则更改将在第一个虚拟控制台中实时显示。 如果我在第二个虚拟控制台中使用Vim更新文件,则更改将不会显示在第一个虚拟控制台中。 我不一定希望它会触发该窗口中的更新-但是为什么这不更新运行tail -f命令的终端呢? files vim tail — 亚历克斯 source 5 tail -f检查追加。tail -F检查文件重命名。 — thrig
31 如果使用来编辑文件vim,通常它将文件读入内存,然后写入新文件。因此tail,现在正在对文件的过时副本进行操作(该副本将保留在文件系统中,直到tail(和任何其他程序)停止使用它为止。 您可以使用tail以下命令使文件名(而不是文件)跟随: tail -F yourfile 注意大写 F。 — 鲍勃·埃格尔 source 1 tail -F作品!控制台现在显示类似“ a.txt已被替换:新文件结束”之类的消息,并进行相应更新。谢谢! — Alex
8 我的理解是,通常在使用进行编辑时vim,您正在编辑文件的副本,当您将更改写入磁盘时,该副本将被移动到位。由于这是通过unlink读取原始文件并将move其放置到位而发生的,因此tail不会看到对原始文件的新更改。 — 兴奋剂 source
tail -f
检查追加。tail -F
检查文件重命名。