网站地图    收藏   

主页 > 系统 > linux系统 >

linux中vim保存root权限的文件 - linux教程

来源:自学PHP网    时间:2014-11-28 23:06 作者: 阅读:

[导读] 今天在linux操作时发现忘记sudo后,在vim中保存一个只有root可以写的文件了,那么碰到此问题要如何来解决呢,下面小编来给各位介绍一下吧.Linux中经常会遇到用vim编辑好了文件,保存的时候提...

linux中vim保存root权限的文件

今天在linux操作时发现忘记sudo后,在vim中保存一个只有root可以写的文件了,那么碰到此问题要如何来解决呢,下面小编来给各位介绍一下吧.

Linux中经常会遇到用vim编辑好了文件,保存的时候提示当前文件是只读的.

E45: 'readonly' option is set (add ! to override)

原因也很简单,因为用户对当前编辑的文件没有写入权限,一个可行的解决办法就是重新使用sudo命令打开这个文件重新进行编辑,但是这样做的话,之前的编辑工作就需要全部重来了,怎么样才能在忘记使用sudo vim编辑自己不可写的文件后,仍然可以正常写入文件呢?

vim的强大之处就体现出来了,下面的指令轻松搞定.

:w !sudo tee %

下面是命令使用的情况:

  1. :w !sudo tee % 
  2. [sudo] password for xxxx:  
  3. ... 
  4. ... 
  5. ... 
  6.  
  7. Press ENTER or type command to continue 

回车后会提示文件已经改变,按O或者L重新加载一下就好.

  1. W12: Warning: File "xxx" has changed and the buffer was changed in Vim as well --phpfensi.com 
  2. See ":help W12" for more info. 
  3. [O]K, (L)oad File: 

命令解释:

:w 是vim的写入命令.

% 当前编辑的文件名.

!sudo tee vim中调用shell命令都是以!开头的.

整个命令就是:以root的身份运行tee命令,读取vim:w命令的输出作为标准输入,将其内容输出到标准输出设备,同时保存到%表示的文件中.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论