首页 >> 宝藏问答 >

问hosts 后缀名 系统文件详解

2026-11-07 18:26:11

答

hosts 并不是传统意义上的后缀名文件,它本身是没有扩展名的纯文本系统文件,很多人习惯称呼它为 hosts 后缀名,核心作用是本地域名解析,优先级高于系统 DNS,电脑访问域名的时候会优先读取 hosts 里面的映射记录,把域名直接绑定指定 IP,因为 Windows macOS Linux 系统都自带这个文件,日常运维调试网站屏蔽域名本地测试都会用到,很多新手误区就是把它理解成 hosts.xxx 后缀文件,这里要区分清楚,hosts 是文件名,不是后缀,接下来分层讲解文件属性 存放路径 编辑规则 作用原理 常见误区和操作要点。

一 核心基础定义

hosts 文件全称 host static table 主机静态映射表

文件类型 纯文本无扩展名文件

编码要求 优先使用 ANSI 或者 UTF8 无 BOM 编码,带 BOM 容易解析异常

默认状态 系统自带空白模板,只有注释说明,没有生效映射条目

核心原理 域名解析顺序 先查询 hosts 静态记录,再向 DNS 服务器发起查询,hosts 匹配成功就不再请求外网 DNS

二 各系统默认存放路径清单

操作系统完整路径
WindowsC Windows System32 drivers etc hosts
macOSetc hosts 也就是根目录下 etc 文件夹
Linuxetc hosts

补充要点 Windows 默认是隐藏文件夹,需要打开显示隐藏项目才能看到 etc 目录,mac 和 Linux 是根目录 etc,需要管理员权限才能修改保存

三 文件内部格式规范

每一条生效记录格式

IP 地址 域名

示例

127.0.0.1

规则说明

1 IP 和域名之间使用空格或者 Tab 分隔

2 井号开头的行是注释,不会生效

3 一行可以写多个域名,同一个 IP 绑定多个域名

4 不支持通配符原生写法,原生 hosts 不能直接写 .test.com,这个是高频坑点

四 主要用途清单

1 本地网站开发测试 把域名指向本机 127.0.0.1,模拟正式域名访问

2 屏蔽广告恶意网站 把广告域名指向无效 IP 比如 0.0.0.0

3 加速域名解析 跳过公共 DNS,直接固定 IP,减少解析延迟

4 临时解决 DNS 污染 手动指定正确 IP 完成域名解析

五 容易混淆的相关后缀文件区分

很多人会把 hosts 和其他后缀文件搞混,做表格对比

名称类型说明
hosts无后缀系统文件静态域名映射表
hosts.ics日历后缀Outlook 日历文件,和系统 hosts 无关
hosts.bak备份后缀hosts 修改前手动备份文件,bak 是备份后缀
hosts.txttxt 文本后缀用户复制保存产生,这个 txt 版本系统不会识别生效

重点提醒 如果保存成 hosts.txt,系统不会读取这个文件,必须去掉 txt 后缀,文件名就叫 hosts,不能带扩展名

六 修改 hosts 常见故障要点

1 保存失败 权限不足,需要管理员身份运行编辑器

2 修改之后不生效 系统 DNS 缓存没有刷新,Windows 执行 ipconfig flushdns,mac 和 Linux 需要刷新系统缓存

3 编码错误 保存成 UTF8 带 BOM,hosts 解析失败,条目全部无效

4 杀毒软件拦截 部分安全软件会锁定 hosts,防止恶意篡改,修改前需要临时放行

七 hosts 和 DNS 的关系

hosts 属于本地静态解析表,属于本地优先解析,DNS 是远程服务器解析,hosts 优先级更高,但是 hosts 只支持静态固定 IP,如果目标网站 IP 经常变动,hosts 就会失效,这也是它最大局限

【常见问题】

问题 1 hosts 后缀名是不是就是 hosts 这个文件的扩展名

回答 1 hosts 后缀名这个说法其实是误区,hosts 后缀名对应的文件本身没有扩展名,hosts 就是完整文件名,不是后缀,它是系统静态域名解析文件

问题 2 hosts 后缀名如果保存成 hosts.txt 还可以正常生效吗

回答 2 hosts 后缀名相关文件保存成 hosts.txt 之后系统不会识别,因为系统只读取无后缀的 hosts 文件,txt 属于额外后缀,必须删除 txt 后缀才能生效

问题 3 hosts 后缀名相关备份文件 hosts.bak 是什么作用

回答 3 hosts 后缀名相关备份文件 hosts.bak 是备份副本,bak 是备份后缀,作用是修改原 hosts 出错之后,可以把 bak 文件恢复还原,原 hosts 系统不会读取 bak 文件

问题 4 hosts 后缀名修改之后为什么没有效果

回答 4 hosts 后缀名修改后不生效一般是 DNS 缓存没有刷新,或者文件编码错误权限不足,也有可能是文件错误保留了 txt 后缀,系统根本没有加载这个 hosts 文件

【免责申明】

本内容为系统 hosts 文件技术学习参考,修改 hosts 可能影响网络访问,请勿随意篡改,遵守相关网络管理规定,操作前建议做好原文件备份。

 

相关阅读

标签: hosts后缀名
最新文章