改 hosts 做本地测试,第一步就卡住:文件在哪?Windows 和 Mac 的路径不一样,还都藏得挺深。找对路径,改起来其实就两分钟。

Windows 的路径和打开方式

Windows 在 C:/Windows/System32/drivers/etc/ 这个目录下,文件名就叫 hosts,没有后缀。不是 hosts.txt,也别新建一个 txt 再把扩展名藏起来。这个目录默认隐藏,地址栏直接粘贴路径最快,改之前先复制一份备份。

Mac 和 Linux 都在 /etc/hosts

macOS 和 Linux 都是 /etc/hosts。Mac 打开终端,输入 sudo nano /etc/hosts,改完按 Control+O 保存、Control+X 退出。Linux 用 sudo vim /etc/hosts 或者 sudo nano,提示只读就是前面少了 sudo。

格式错一行就全不生效

一条记录一行,IP 在前,域名在后,中间用空格或 Tab 隔开。一行写多个域名也可以,用空格分开,# 开头的是注释,不会被读取。从网页复制来的内容常带全角空格,肉眼看不出来,解析就会失败,换成半角空格再保存。

改完不生效的排查顺序

先刷 DNS 缓存,Windows 执行 ipconfig /flushdns,Mac 执行 sudo dscacheutil -flushcache。浏览器自己也有缓存,开无痕窗口试,再看有没有被安全软件锁住。改完用 ping 域名看解析到哪个 IP,最直接,如果解析不对,先检查有没有写错域名。

hosts 的优先级高于 DNS,命中就不会再往外问。编码上,记事本另存为时选 ANSI 或 UTF-8,别存成带 BOM 的 UTF-8,个别程序读不了。保存前确认没有多出 .txt 后缀,Windows 默认隐藏已知扩展名。

hosts 适合临时改解析、做开发测试,不适合长期当加速手段。条目多了难维护,还会拖慢解析。改前备份,出问题还原,团队协作时把改动记在注释里,改完再 ping 一次确认,别改完就不管了。