[Linux命令]tail -f 报错:file truncated
1 报错内容
首先:终端1 输入并回车
tail -f /tmp/test.txt
其次:终端2 输入并回车
echo "this is the first sentence." > /tmp/test.txt
最后,终端1 报错
tail: /tmp/test.txt: file truncated
2 解决方法
方法1 > 改为 >>
echo "this is the first sentence." >> /tmp/test.txt
方法2 -f改为-F
tail -F /tmp/test.txt
PS: Ctrl+C 退出实时监控(终端1)
3 解释
> 覆盖: 原文先被清空,再写入新内容(tail 原本监控的文件被截断了)
>> 追加:在原文后新增,不影响原文

抛个问题:
echo "this is the first sentence." > /tmp/test.txt
tail -F /tmp/test.txt
这种情况为何成功输出。。。待更
当使用`tail -f`命令监控文件时,如果使用`>`覆盖写入文件,`tail`会报告文件被截断。可以改用`>>`追加写入或使用`tail -F`来持续跟踪文件变化,即使文件被重新创建。解决`tail`报错`file truncated`的关键在于理解`>`和`>>`的区别,前者清空文件后写入,后者在文件末尾追加内容。
2133

被折叠的 条评论
为什么被折叠?



