如何修改host文件:多系统实操步骤

如何修改host文件是在本地绑定域名与IP的操作,Windows、macOS、Linux系统路径不同,修改前你需要管理员或root权限,修改完成后刷新DNS缓存才能生效,该操作适合调试网站本地解析、屏蔽指定域名访问,不适合普通上网用户随意改动,改动错误会造成对应网站无法打开,部分企业管控电脑受组策略限制无法保存host文件。

如何修改host文件:Windows端操作

Windows系统host文件存放路径为C:\Windows\System32\drivers\etc\hosts,这个文件没有后缀名,不能直接双击打开编辑。你先找到记事本程序,右键选择以管理员身份运行,再通过记事本的打开功能,粘贴上面路径,文件类型选择所有文件,选中hosts打开。编辑格式为IP地址加空格加域名,一行一条记录,开头的内容属于注释,系统不会读取。编辑结束按下保存,若弹出权限不足提示,你可以先把hosts复制到桌面修改,改完再替换回原目录。

刷新DNS缓存执行命令。

按下Win+R输入cmd唤起命令提示符,输入ipconfig/flushdns回车,缓存刷新完成后,新的解析规则开始生效。这里有一个常见错误操作,直接双击hosts文件用普通权限记事本修改,保存时没有报错提示,但改动内容不会写入原文件,所有编辑都会失效。

如何修改host文件:macOS与Linux端操作

macOS和Linux的host文件路径统一为/etc/hosts,编辑需要管理员权限,推荐使用终端工具操作。macOS打开终端输入sudonano/etc/hosts,输入电脑开机密码,密码输入时界面不会显示字符,属于正常现象。Linux常用sudonano/etc/hosts或者sudovim/etc/hosts打开文件,编辑语法和Windows保持一致,IP在前、域名在后。nano编辑器修改完成按Ctrl+O保存,回车确认文件名,再按Ctrl+X退出编辑器;vim编辑器需要按Esc后输入:wq回车完成保存退出。

macOS刷新DNS可以输入sudodscacheutil-flushcache;sudokillall-HUPmDNSResponder,不同Linux发行版刷新缓存命令存在差异,没有安装DNS缓存服务的系统,修改host后一般可以直接生效。

如何修改host文件:记录格式与校验方式

合法的host记录固定格式为IPv4地址、至少一个半角空格、域名,同一IP可以绑定多个域名,多个域名用空格隔开写在同一行。IPv6地址也可以填写,地址需要用方括号包裹,避免和域名混淆。你不要在同一行写多条不同IP的解析规则,系统只会读取靠前的记录。填写完成后可以用ping命令校验,打开终端ping你填写的域名,返回的IP和你写入host里的IP一致,代表host规则已经正常加载。

系统文件路径所需权限刷新DNS命令
WindowsC:\Windows\System32\drivers\etc\hosts管理员ipconfig/flushdns
macOS/etc/hostssudosudodscacheutil-flushcache;sudokillall-HUPmDNSResponder
Linux/etc/hostsroot视发行版而定

host文件的解析优先级高于DNS服务器,操作系统会优先读取host内的记录,再向公共DNS发起查询。这个机制让它适合本地开发调试,开发人员可以把测试域名指向内网服务器IP,不用改动域名服务商的解析记录。

该方法的适用边界是,host仅作用于本机,同一局域网内其他设备不受这台机器host配置影响,浏览器自带的DNS安全解析功能,有可能绕过本地host设置,出现ping正常但网页访问不遵循host规则的情况。

删除不需要的host记录,直接删掉对应整行内容即可,保留原有注释内容不会影响运行,不建议批量清空系统自带的默认条目,部分系统默认条目用于本地回环,删除后可能引发网络组件异常。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于如何修改host文件的文章欢迎访问:百科