清空catalina.out报错Permission denied
今天在清空catalina.out的时候报错
[yangkun@sg logs]$ sudo echo '' > catalina.out -bash: catalina.out: Permission denied
使用sudo echo ‘xxx’ > /path/file 时,其实sudo只用在了 echo 上,而重定向没有用到sudo的权限,所以会出现“Permission denied”的情况,解决的方法也很简单,就是一个参数而已。加一个“ sh -c ”就可以把权限指定到整条shell了。
sudo sh -c "echo '' > catalina.out "
另一种方法是利用管道和 tee 命令,该命令可以从标准输入中读入信息并将其写入标准输出或文件中,具体用法如下:
echo “xxxx” | sudo tee -a test.txt
tee 命令 “-a” 选项的作用等同于 “>>” 命令,如果去除该选项,那么 tee 命令的作用就等同于 “>” 命令。