在学习linux系统编程时,遇到一个问题,当你用Vim编辑完一个文件时,运行:wq
保存退出,突然蹦出一个错误:
E45: 'readonly' option is set (add ! to override)
这表明文件是只读的,按照提示,加上!
强制保存::w!
,结果又一个错误出现:
"readonly-file-name" E212: Can't open file for writing
最后发现:
原来是可能没有权限造成的。此时你才想起,这个文件需要root权限才能编辑,而当前登陆的只是普通用户,在编辑之前你忘了使用sudo
来启动Vim,所以才保存失败。
解决方法:
1 直接用root 权限打开
sudo vim 文件名
2 普通用户打开文件,超级权限保存
:w !sudo tee %