我的服务器上有一个文件error.log,需要经常截断。我对该文件有读写权限。在vi中打开文件>删除所有内容>保存工作(显然)。但是当我尝试以下
cat /dev/null > error.log
我收到消息
File already exists.
显然,在服务器上已进行了某种配置,以防止意外覆盖文件。有人可以告诉我如何在一个命令中“截断”文件吗?
您已设置noclobber选项。该错误看起来像是来自csh,因此您可以执行以下操作:
noclobber
cat /dev/null >! file
如果我错了并且您正在使用bash,则应该执行以下操作:
cat /dev/null >| file
在bash中,您还可以将其缩短为:
>| file