[关闭]
@SiberiaBear 2016-03-30T20:31:36.000000Z 字数 779 阅读 4054

当打开一个只读文件但需要保存的技巧

vi/vim


我时常遇到这样的问题,想修改一个系统文件,找到该文件后,忘记该文件是对当前普通用户是只读文件,用vi打开后,进行了大批量的修改,但最后准备保存退出时,vi才提示,这是一个只读文件,无法保存。这个时候,可以用这样一个办法来保存。

固定链接:https://www.zybuluo.com/SiberiaBear/note/330112

由于我们通过vi打开的文件内容只是一个缓冲区内容,所以可以修改,但修改的是缓存,当使用:w来保存时,vi才将缓存区的内容写入到文件中,所以只读提醒是最后保存是才出现的。

  1. :w !sudo tee % > /dev/null

这样一个命令可以实现功能,原理是:

注意可能需要要求输入root密码,同时会弹出提示,当前文件已经被更改,选择更新文件就好。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注