linux命令“tail -f filename”不起作用

时间:2015-09-29 04:04:15

标签: linux file operating-system tail

我使用tail -f filename监控文本文件,并使用vi编辑器在文件末尾添加一行。

但是在保存文件后,我没有在终端上看到“tail -f”正在监控的更新。

有什么问题? vi编辑器有缓冲区吗?

1 个答案:

答案 0 :(得分:2)

vi / vim将文件复制到临时文件vis:

[root@mg ~]# lsof | grep temp3 tail 29146 root 3r REG 253,0 2474 2228230 /root/temp3 vim 29260 root 4u REG 253,0 12288 2228273 /root/.temp3.swp

因此,列出了你正在追踪的文件,并且还创建了.temp3.swp vim。

保存文件后,vim会删除原文并将.temp3.swp文件重命名为temp3.swp

lsof会显示您正在删除已删除的文件:

[root@mg ~]# lsof | grep temp3 tail 29146 root 3r REG 253,0 2474 2228230 /root/temp3~ (deleted)

stat会显示新文件上面有.temp3.swp文件的inode:

[root@mg ~]# stat temp3 File: 'temp3' Size: 2482 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 2228273 Links: 1