Linux中vi文件保存退出命令“:wq"和":x”的区别

时间:2022-04-02 03:59:58

:wq   强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。

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

这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq"强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。

附:保存命令
按ESC键 跳到 命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi

:e! 放弃所有修改,从上次保存文件开始再编辑

转自:http://www.linuxidc.com/Linux/2011-05/35644.htm