vim编辑器未正常关闭时解决方案
问题描述
在mac上的
/etc
目录下修改hosts
文件时,进入vim编辑器时未正常关闭,导致在/etc
下产生.hosts.swp
文件,并且在/var/tmp
下产生host.swo、host.swn
等文件。因此在对/etc/hosts进行编辑时会报类似的提示:Swap file ".hosts.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
选择任意选项后正常退出后,下次进入依次会报这些提示。
.swp、.swo文件产生原因
- 在vim编辑器的模式下,打开某个文件例如
/etc/hosts
,vim会自动产生一个类似于.hosts.swp
文件以备不测。正常退出的话,该文件(.swp)会自动删除。 - 如果在
.hosts.swp
已经存在的情况下,即在A窗口打开该hosts文件后,使用B窗口同时打开该hosts
文件,则会产生.swp
文件,在使用C窗口打开该文件,产生.swo
文件。字母排序逆时针倒序排列。
解决方案
可以使用如下命令恢复文件
#切换到/etc目录下 cd /etc #使用 vim -r 文件名 恢复该文件 vim -r hosts #恢复后如果确定该文件已经修改好,并且用不到.swp文件来恢复主文件的话,对.swp文件进行删除 #之后输入密码即可删除 不加sudo可能会报“Permission denied” 权限不够的异常。 sudo rm -rf .hosts.swp #之后的.swo、.swn等文件在/var/tmp下,切换到该目录,全部删除即可。 cd /var/tmp sudo rm -f host.*
执行操作后,再次进入编辑hosts文件时,就没有那些烦人的提示信息了。
后记
hosts文件
- Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,负责将主机名映射到相应的IP地址。
- 当用户在浏览器中输入可登录的网址时,系统首先从Hosts文件中寻找对应的IP地址,
- 找到,系统会立即打开对应网页。
- 没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
路径
windows系统
C:\Windows\System32\drivers\etc
mac和linux系统
/etc/hosts
sudo命令小记
sudo命令用来以其他身份来执行命令,其中默认的身份为root。
在
/etc/sudoers
中设置了可执行sudo指令的用户。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。详情可看这里切换到/etc下可以查看文件
cd /etc sudo cat sudoers
原创不易,欢迎转载,转载时请注明出处,谢谢!
作者:潇~萧下
原文链接:https://www.cnblogs.com/manongxiao/p/11735253.html