hosts 文件是系统本地域名解析文件,不同操作系统存放 hosts 文件位置不一样,Windows macOS Linux 的默认路径是固定的,这个文件本身没有后缀名,很多用户找不到它,是因为它存放在系统隐藏目录里面,资源管理器默认不显示这类系统文件,直接打开文件夹看不到。查找的时候可以直接复制完整路径粘贴到地址栏,也可以通过终端命令定位,定位之后编辑 hosts 还需要管理员或者 root 权限,普通双击打开经常会出现无法保存的情况。掌握 hosts 文件位置之后,后续遇到域名解析异常 网站跳转 自定义域名映射,就可以直接进入目录修改,不用再反复搜索路径。
各系统 hosts 文件位置清单
Windows 系统
完整路径 C Windows System32 drivers etc hosts
注意事项 这个 etc 文件夹是系统隐藏文件夹,如果资源管理器没有显示,需要开启显示隐藏的项目,hosts 文件没有后缀,不是 hosts.txt
macOS 系统
完整路径 etc hosts
真实目录是 private etc hosts,直接访问 etc 会自动跳转软链接
Linux 系统
完整路径 etc hosts
绝大多数发行版都是这个统一路径,包括 Ubuntu CentOS Debian
快速打开方法
Windows 快速打开
按下 win 加 R,输入 notepad C Windows System32 drivers etc hosts,推荐右键记事本选择以管理员身份运行,再打开 hosts
macOS 快速打开
打开终端,输入 open etc hosts,或者用 sudo nano etc hosts 编辑
Linux 快速打开
终端输入 sudo nano etc hosts
路径对照表
| 操作系统 | hosts 文件位置 | 是否需要管理员权限编辑 | 备注 |
|---|---|---|---|
| Windows | C Windows System32 drivers etc hosts | 需要管理员权限 | 文件夹默认隐藏 |
| macOS | private etc hosts | 需要 sudo 权限 | etc 是软链接 |
| Linux | etc hosts | 需要 root 或者 sudo 权限 | 各发行版通用 |
常见找不到 hosts 的原因
1 资源管理器没有开启显示隐藏项目,etc 文件夹看不见
2 保存的时候多了 txt 后缀,变成 hosts.txt,系统识别不到真正的 hosts 文件
3 第三方系统精简版,目录结构改动概率很低,但个别定制系统路径有微调
4 打开方式错误,直接双击没有管理员权限,误以为文件不存在
补充要点
hosts 文件优先级高于公共 DNS,找到 hosts 文件位置之后,修改前建议备份原文件,防止改错造成域名解析故障
如果是服务器远程环境,同样使用 etc hosts 这个路径,和本地电脑 Linux 规则一致
【常见问题】
问题 1 hosts 文件位置在哪个地方,Windows 为什么打开 etc 文件夹看不到 hosts
回答 1 hosts 文件位置在哪个地方,Windows 的 etc 属于系统隐藏目录,默认资源管理器不展示,需要开启显示隐藏项目,才能看到 hosts 文件,很多用户误以为 hosts 文件位置不存在
问题 2 hosts 文件位置在哪个地方,macOS 的 etc 和 private etc hosts 是不是同一个文件
回答 1 hosts 文件位置在哪个地方,macOS 里面 etc 是软链接,etc hosts 和 private etc hosts 指向同一个 hosts 文件,访问任意一个路径都可以定位到 hosts 文件位置
问题 3 hosts 文件位置在哪个地方,找到之后为什么不能直接保存修改
回答 3 hosts 文件位置在哪个地方,找到 hosts 之后编辑失败是因为系统保护机制,hosts 属于系统核心文件,必须管理员或者 sudo 权限,普通权限打开 hosts 文件位置内的文件,无法写入保存
问题 4 hosts 文件位置在哪个地方,会不会出现 hosts 文件丢失的情况
回答 4 hosts 文件位置在哪个地方,正常系统不会丢失 hosts 文件,如果 hosts 文件位置里面找不到文件,一般是误删除或者安全软件隔离,需要从同版本系统复制默认 hosts 文件放回原 hosts 文件位置
【免责申明】
本内容为通用操作系统路径参考,部分定制精简系统 服务器特殊镜像可能存在路径差异,修改 hosts 属于系统底层操作,操作前做好备份,错误修改 hosts 会造成网络解析异常,相关风险由操作者自行承担。


