清除 root 拥有的日志文件

dav*_*dhq 3 log-files

我需要清除日志文件:

cat /dev/null > error.log 
Run Code Online (Sandbox Code Playgroud)

问题是该文件归root所有

-rw-r--r-- 1 root root 15505 Feb  9 15:08 error.log
Run Code Online (Sandbox Code Playgroud)

这不起作用

$ sudo cat /dev/null > error.log 
-bash: error.log: Permission denied
Run Code Online (Sandbox Code Playgroud)

不知道为什么......所以我怎么能解决这个问题?

EEA*_*EAA 11

尝试这个:

$ sudo sh -c "cat /dev/null > error.log"
Run Code Online (Sandbox Code Playgroud)

问题在于,使用您使用的命令,您实际上是在运行两个命令:第一个 cat 以 root 身份运行(通过 sudo),但其他一切都以您的用户身份运行。上面的方法解决了这个问题。

U&L 上的这个答案有更多关于此的信息。