我需要使用以下命令清除日志文件:
cat /dev/null > error.log
问题是该文件属于 root
-rw-r--r-- 1 root root 15505 Feb 9 15:08 error.log
但这不管用
$ sudo cat /dev/null > error.log
-bash: error.log: Permission denied
不知道为什么...那么我该如何解决这个问题呢?
答案1
尝试这个:
$ sudo sh -c "cat /dev/null > error.log"
问题在于,使用您使用的命令时,您实际上运行了两个命令:第一个 cat 以 root 身份运行(通过 sudo),但其他所有命令都以您的用户身份运行。上述方法解决了这个问题。
这U&L 上的回答有更多这方面的信息。