加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux中vim保留root权限的文件

发布时间:2022-06-20 14:31:30 所属栏目:Linux 来源:互联网
导读:今天在linux操作时发现忘记sudo后,在vim中保存一个只有root可以写的文件了,那么碰到此问题要如何来解决呢,下面小编来给各位介绍一下吧. Linux中经常会遇到用vim编辑好了文件,保存的时候提示当前文件是只读的. E45: readonly option is set (add ! to overrid
  今天在linux操作时发现忘记sudo后,在vim中保存一个只有root可以写的文件了,那么碰到此问题要如何来解决呢,下面小编来给各位介绍一下吧.
 
  Linux中经常会遇到用vim编辑好了文件,保存的时候提示当前文件是只读的.
 
  E45: 'readonly' option is set (add ! to override)
 
  原因也很简单,因为用户对当前编辑的文件没有写入权限,一个可行的解决办法就是重新使用sudo命令打开这个文件重新进行编辑,但是这样做的话,之前的编辑工作就需要全部重来了,怎么样才能在忘记使用sudo vim编辑自己不可写的文件后,仍然可以正常写入文件呢?
 
  vim的强大之处就体现出来了,下面的指令轻松搞定.
 
  :w !sudo tee %
 
  下面是命令使用的情况:
 
  :w !sudo tee %
  [sudo] password for xxxx:  
  ...
  ...
  ...
  
  Press ENTER or type command to continue
  回车后会提示文件已经改变,按O或者L重新加载一下就好.
 
  W12: Warning: File "xxx" has changed and the buffer was changed in Vim as well --phpfensi.com
  See ":help W12" for more info.
  [O]K, (L)oad File:
  命令解释:
 
  :w 是vim的写入命令.
 
  % 当前编辑的文件名.
 
  !sudo tee vim中调用shell命令都是以!开头的.
 
  整个命令就是:以root的身份运行tee命令,读取vim:w命令的输出作为标准输入,将其内容输出到标准输出设备,同时保存到%表示的文件中.

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!