我的服务器上有一个名为error.log的文件,我需要经常截断它。我对该文件具有读写权限。在vi中打开文件>删除所有内容>保存工作(显然)。但是当我尝试下面的方法时
cat /dev/null > error.log
我明白
File already exists.
显然,在服务器上进行了某种配置,以防止意外覆盖文件。有人能告诉我如何在一条命令中“截断”文件吗?
发布于 2010-03-11 15:45:24
您设置了noclobber
选项。这个错误看起来像是来自csh,所以你可以这样做:
cat /dev/null >! file
如果我错了,而你在使用bash,你应该这样做:
cat /dev/null >| file
在bash中,您还可以将其缩短为:
>| file
发布于 2013-03-12 06:50:40
这足以将文件大小设置为0:
> error.log
发布于 2015-04-09 17:07:06
这要归功于我的资深同事:
:> filename
例如,这不会破坏日志文件,因此您甚至可以在syslog上使用它。
https://stackoverflow.com/questions/2423281
复制相似问题