linux下vi编辑只读文档无法保存的解决方法

使用普通用户编辑nginx.conf等配置文件:

保存时会询问:NoRootPermission

可以使用如下方法解决问题:

保存时添加:

:w!sudotee%

我有这里有问题。
未配置sudo权限。

当您使用sudo时,它会询问xxxisnotinthesudoers文件。
此事件将报告XXXisyourusername,这意味着您的用户名没有使用sudo的权限。
我们只需要更改文件/etc/sudoers即可。
修改方法如下:

1)进入超级用户模式。
也就是说,输入su-,系统会要求您输入超级用户密码。
输入密码后,就进入超级用户模式。
(当然也可以直接使用root)

2)给文件添加写权限。
即输入命令chmodu+w/etc/sudoers。

3)编辑/etc/sudoers文件。
即输入命令vim/etc/sudoers,输入进入编辑模式,找到这一行:rootALL=(ALL)ALL,在其下面添加xxxALL=(ALL)ALL(这里的xxx是你的用户名),然后保存(只需先按Esc键,然后输入:wq)即可退出。

4)撤销文件的写权限。
即输入命令chmodu-w/etc/sudoers。

再次保存:

检查是否成功:

$grepsudonginx.conf

#test:w!sudotee%

说明:

:w:Writeafile。
文件可写,文件仍处于只读模式,通过:q!

!sudo:Callshellsudocommand退出。

tee:Theoutputofthevi/vimwritecommand重定向用户tee。

tee:Theoutputofthevi/vimwritecommand重定向用户tee。

%:触发使用当前文件名。

简单来说,tee命令运行assudo并跟随vi/vimcommandonthecurrentfilenamegiven。

附录:

我在网上看了很多答案,大部分都是一句话:

:w!sudotee%;

或者:

您有权限修改该文件吗?

如果你有root权限,就可以

:wq!

其实我想说的就是一句话:打开文件时加sudo。

即:命令sudovi/etc/crontab打开文件。
至此,文件就以root权限上传了。

要立即退出文件,只需使用:wq!。

我想很多新手和我一样,看到上面的答案时,大多数人在出现问题时都不知道自己是否有root权限。
所有的问题都是从这里来的!

小白加油!

坑爹的linux所谓编辑软件vim到底怎么保存退出?

在讨论如何在Linux上保存和退出Vim编辑软件之前,我们首先需要明确Vim的六种操作模式:插入模式、命令模式、可视模式、换行模式、搜索模式和普通模式。
其中,最下面一行的模式是用于执行保存、退出等文件管理操作的模式。
对于初学者来说,直接进入Vim编辑状态通常默认为普通模式。
要保存并退出,只需切换到命令模式并在键盘上键入“:”符号即可。
在命令模式下,输入“q”不保存退出,输入“wq”保存后退出。
如果想强制退出而不执行任何操作,可以使用“:q!”命令。
请注意,如果当前处于插入模式,直接键入上述命令将不会执行。
此时,需要按键盘上的Esc键使进程返回到正常模式,然后执行相应的保存和退出操作。
在Vim的运行过程中,各个步骤都是紧密相关的。
因此,要高效地使用Vim编辑器,了解和掌握不同模式的切换方法至关重要。
总体而言,使用Vim相对直观。
熟悉基本规则和命令后,您将能够快速执行编辑、保存和退出文件等常见操作。
对于熟悉其他文本编辑工具的用户来说,可能需要一些时间来适应Vim的命令行界面和模式切换机制。
不过,随着实践,Vim高效实用的特点会逐渐显现出来。