在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改。
经过查找,发现一个命令可以解决这个问题
命令::w !sudo tee %
w: 表示保存文件
!: 表示执行外部命令
tee: linux命令,这个有点复杂,可以查看linux命令帮助
%: 在执行外部命令时,%会扩展成当前文件名;这个%区别于替换时的%,替换时%的意义是代表整个文件,
而不是文件名
此命令是把当前文件(即%)作为stdin传给sudo tee命令来执行。说起来挺绕口,其实就是:用sudo强制保存。
输入O或L,再回到vim界面,此文件已保存,再次输入q!退出即可
再输入到vim 文件名称
可看到,已修改