前言

在轻量应用服务器的登录方式中,可以选择使用lighthouse免密登录服务器,但在服务器操作输入相关命令的时候,可能会提示:bash: error_log: Permission denied,这说明没有权限执行该命令。

示例说明

以清理apache网站日志为例,正常情况下可以通过以下命令操作。

cat /dev/null>access_log

当使用lighthouse免密登录进行操作时,则可能提示权限不足。

[lighthouse@VM***centos logs]$ sudo cat /dev/null>error_log
bash: error_log: Permission denied

解决方法

此时可以使用以下命令执行

sudo sh -c 'cat /dev/null > error_log'

总结

命令 sudo sh -c 'cat /dev/null > error_log' 是一个用于以超级用户权限清空或创建一个空文件 error_log 的方法。sudo sh -c 写法非常灵活,可以用来执行任何需要在超级用户权限下运行的 shell 命令,所以需要谨慎操作