Linux vi种 wq 、wq!、x、q、q!区别

上面的命令只是在vi编辑命令中使用

 

wq:表示保存退出

wq!:表示强制保存退出

x:表示保存退出

 

wq和wq!的区别如下:

有些文件设置了只读,一般不是修改文件的,但是如果你是文件的owner或者root的话,通过wq!还是能保存文件退出

 如果文件设置为只读了的话,用 :wq命令是不能保存并退出的,但是最高权限者可通过wq!来进行文件的保存并退出文件。

已设定选项 'readonly' (请加 ! 强制执行)

文件所有者通过 wq! 可以保存只读文件 

!是强制执行
如果不带!碰上只读文件,会给提示会是只读文件,带了!忽略只读强制写入

 

":x" 和 ":wq" 的区别如下:

(1) :wq 强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。

(2) :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。

这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq" 强制更新文件的修改时间,

这样会让 make 编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。不过像是版本控制的软件一般首选还是比较文件内容,修改时间一般不加以理会。

 

:q在vim中表示退出

:q!表示强制不保存退出,不对文件进行保存

":q" 和 ":q!" 的区别如下:

如果文件有修改,:q 会提示有修改,是否退出,输入y退出

如果文件有修改,:q! 会强制直接退出,并且不对文件进行保留
 
posted @   Mark_Luo  阅读(63810)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示