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

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

输入命令:%! sudo tee % > /dev/null
按提示输入sudo权限密码
输入“L”(Load File)
输入:q命令退出
关于“%! sudo tee % > /dev/null”这条命令的说明如下:

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

!      #管道

sudo     #以root权限操作

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

%      #VI/VIM编辑的文件

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

承接各种网站开发与修改、爬虫、数据采集分析、小程序等任务

Html+Css+JS+PHP+Nodejs+Python

专治网站各种不服

一起探讨,互相学习,共同进步!有事儿您说话。

This entry was posted in Ubuntu by 织梦先生. Bookmark the permalink.