nano/vi 以未经授权的用户身份打开写保护文件 - 我可以升级以保存吗?

nano/vi 以未经授权的用户身份打开写保护文件 - 我可以升级以保存吗?

很多时候我都会以非超级用户的身份打开配置并进行所需的更改,但我不想承认。当我在 nano 或 vi 中保存时,就会出现权限错误。

此时,我 c/p foo 按照自己的方式操作,以便可以关闭并重新打开sudo

有没有办法升级为超级用户以便保存而无需在 vi 或 nano 中关闭并重新打开?

答案1

我不知道 nano 的情况,但我知道你可以在 vim 中写入你无权访问的文件。尝试运行以下命令:

:w !sudo tee %

即使您没有权限,这也会保存该文件。Nathan Long 在这里很好地解释了这是如何运作的,但我也会给出一个简短的解释。

:w并不意味着节省, 它的意思是。因此在这种情况下,:w !foo意味着写入外部命令。在本例中,外部命令是sudo tee %,其中%是当前文件的名称。Tee 将同时写入给定文件和 STDOUT,并且由于我们使用 sudo 运行它,因此它具有写入文件的必要权限。

相关内容