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这个文件里,如果这个命令执行正常就不写