:哇! vim 中的命令
:wq! command in vim
最近,我阅读了 here 关于 vim 中的 :wq!
命令的内容。我不明白它如何在没有写权限的情况下强制写入文件。这样一来,理论上就可以在未经许可的情况下编辑根文件。不应该被禁止吗?还是写入新文件?
我看到了 similar question,但那是关于动作的,非常不同。
P.S。我没有试过这个命令,怕弄乱系统文件。
别害怕,vim
无法授予您比 OS 给您更多的权利。如果您碰巧使用 vim -R
命令打开文件,或者如果您在使用 vim
打开文件之前将文件设置为只读,则 w!
可用于覆盖只读模式。
如果您没有该文件的权限(例如,您不拥有该文件),则不会强制写入。如果您对该文件有权限,但它是一个只读文件,那么您可以强制写入它。就好像您先将文件模式更改为可写,写入您的更改,然后再将文件模式更改回只读。
你们应该考虑目录权限伙计们!我的意思是文件所在的目录。
你应该知道,如果你对一个目录有写权限,你可以删除其中的所有文件,并创建新文件甚至具有相同的名称(如覆盖)!
当你用vi
修改只读文件,插入wq!
写入修改时,会出现两种情况:
- 您对该目录有写(
w
)权限
- 将删除主文件并写入同名的新文件。
- 您对该目录没有写(
w
)权限
- 没有任何反应!您无法写入或修改文件,您应该退出:
q!
.
所以目录的写入权限对只读文件很重要!
最近,我阅读了 here 关于 vim 中的 :wq!
命令的内容。我不明白它如何在没有写权限的情况下强制写入文件。这样一来,理论上就可以在未经许可的情况下编辑根文件。不应该被禁止吗?还是写入新文件?
我看到了 similar question,但那是关于动作的,非常不同。
P.S。我没有试过这个命令,怕弄乱系统文件。
别害怕,vim
无法授予您比 OS 给您更多的权利。如果您碰巧使用 vim -R
命令打开文件,或者如果您在使用 vim
打开文件之前将文件设置为只读,则 w!
可用于覆盖只读模式。
如果您没有该文件的权限(例如,您不拥有该文件),则不会强制写入。如果您对该文件有权限,但它是一个只读文件,那么您可以强制写入它。就好像您先将文件模式更改为可写,写入您的更改,然后再将文件模式更改回只读。
你们应该考虑目录权限伙计们!我的意思是文件所在的目录。 你应该知道,如果你对一个目录有写权限,你可以删除其中的所有文件,并创建新文件甚至具有相同的名称(如覆盖)!
当你用vi
修改只读文件,插入wq!
写入修改时,会出现两种情况:
- 您对该目录有写(
w
)权限- 将删除主文件并写入同名的新文件。
- 您对该目录没有写(
w
)权限- 没有任何反应!您无法写入或修改文件,您应该退出:
q!
.
- 没有任何反应!您无法写入或修改文件,您应该退出:
所以目录的写入权限对只读文件很重要!