![登录 vi,进行了更改,忘记先使用 sudo - 现在该怎么办](https://linux22.com/image/1218403/%E7%99%BB%E5%BD%95%20vi%EF%BC%8C%E8%BF%9B%E8%A1%8C%E4%BA%86%E6%9B%B4%E6%94%B9%EF%BC%8C%E5%BF%98%E8%AE%B0%E5%85%88%E4%BD%BF%E7%94%A8%20sudo%20-%20%E7%8E%B0%E5%9C%A8%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E.png)
我使用 vi 编辑器对 Ubuntu Linux 计算机上的配置文件进行了长时间的更改。不幸的是,我忘了先使用 sudo,所以现在我在编辑器中,但由于缺少权限而无法保存更改。我可以追溯性地在该终端上对用户执行 sudo 吗?或者最好的做法是什么?
答案1
在这种情况下,我使用 写入文件:w /tmp/tmpfile
。然后我出去并/tmp/tmpfile
使用 sudo 权限移动到我的旧文件。
答案2
从所以:
:w !sudo tee %
事实上,我发现自己现在更频繁地使用这种方式:
:%!sudo tee %
我认为它更直观一些,因为我知道什么:%!
,而我对 并没有深刻的理解:w !
。此外,很容易忽略w
和 之间非常重要的空间!
。
答案3
您不能打开另一个终端并暂时更改文件的访问权限吗?