Linux环境下VI/VIM编辑文件时无权限保存的解决方法

 

 

在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有sudo权限)。其实,在VI/VIM模式下通过一些简单的命令,就能在不关闭当前文件的情况下达到保存文件的目的(感谢晓哲老师提供的方法):

  1. 输入命令:%! sudo tee % > /dev/null
  2. 按提示输入sudo权限密码
  3. 输入“L"(Load File
  4. 输入:q命令退出

关于“%! sudo tee % > /dev/null”这条命令的说明如下:

%       #VI/VIM编辑的文件内容

!      #管道

sudo     #以root权限操作

tee     #将标准输入(即通过管道过来的当前编辑的文件内容)输出到标准输出,同时写入到指定的文件中(即VI/VIM当前编辑的文件

%       #VI/VIM编辑的文件

> /dev/null    #将标准输出重定向到/dev/null(不输出显示)

posted on 2011-08-14 17:18  大圆那些事  阅读(9815)  评论(1编辑  收藏  举报

导航