关于tail -f 的报错file truncated的

tail -f 是linux里动态查看文件的最后几行的内容  

由于一直想测试这个命令看效果,于是用 追加输出   > 号来用另一个账号登录LINUX进行输出重定向   

user1:

touch ccc

tail -f ccc

user2:

ls -l > ccc

结果第一次有效果,user1的终端正常显示出来了,但第二次执行user的命令,user1的终端就报错显示file truncated了。查了下网上,有同学遇到相同情况但没有准确答案,于是自己试了试,试出来了:

输出重定向> 这个符号做的是 重写(覆盖原文件)然后写入(输出)新的内容在里面,而tail -f 这边只是读取这个文件的末尾几行,他user2里重写的话,就把之前的内容清空了,所以造成了user1报错,如果不是重写而是追加就不会报错了

所以用 输出重定向的 >> 这个符号(追加的符号)来进行操作,两边就都一切正常了

所以最后确定  tail -f   动态输出文件的末尾,这个文件执行的命令,文件只能被追加 不能动前面的内容,不然就报错了。


> 输出重定向(覆盖) 例 ls -l > aaa

>> 输出重定向(追加)例  ls -l >> aaa   把命令执行的内容输出给文件

<输入重定向   例 wall < /a.txt     把写好的东西输入给命令

错误输出重定向    rm /usr 2>rm.error   如果这条命令执行错误了,把错误信息输出(写入)在rm.error这个文件里,如果这个命令执行正常就不写

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值