hosts文件用于将域名映射到IP地址。它在所有操作系统包括Linux,Windows和macOS都是一个纯文本文件。
hosts文件允许您设置指定域名映射的IP地址。这个更改只作用于当前计算机,而不会影响全域网的解析方式。
在教程中,我们将提供说明如何在Linux,macOS和Windows修改hosts文件的说明。hosts文件更改会立即生效,除非应用程序缓存DNS解释结果。
DNS 工作方式
hosts文件对域名的解释优先于DNS解释。当您在Chrome浏览器访问站点时,必须将域名转换为其对应的IP地址。
操作系统首先检查hosts文件是否存在相应的域名,如果该域名没有记录,它将查询配置的DNS地址并解析指定的域名。
如果您想在不更改DNS设置的情况下测试您的网站,这将非常有用。hosts文件还可用于拦截指定网站的域名。
例如,您要将网站迁移到新服务器,并且希望在域名指向服务器IP地址之前验证它是否正常运行。
hosts文件中的记录格式是IPAddress DomainName [DomainAliases]
。域名和IP地址之间应至少有一个空格或制表符分隔。以#
开头的行是无效的。
Linux hosts文件
在Linux,包括Ubuntu,CentOS,RedHat,Debian和Linux Mint。hosts文件位于/etc/hosts。
要在Linux修改Host文件,请使用您喜欢的文本编辑器打开hosts文件,在本教程我们使用vim打开文件。运行命令sudo vim /etc/hosts
。
在出现提示时输入您当前用户的密码。编辑完成后,保存文件并退出vim。通常Hosts的修改会马上生效。
如果你的hosts文件修改没有生效,你可能需要清除DNS缓存,请参考我们的教程如何清除DNS缓存。
sudo vim /etc/hosts
Windows hosts文件
在Windows,包括Windows 10,Windows 8,Windows 11。hosts文件都位于c:\Windows\System32\Drivers\etc\hosts
。
要在Windows修改Host文件。右键单击记事本
图标,然后选择以管理员身份运行
。打开记事本。
在记事本中,点击文件
,然后点击打开
。在文件名
输入框,粘贴host文件的绝对路径c:\Windows\System32\drivers\etc\hosts
打开host文件。
向下滚动到文件末尾并添加新记录,然后点击文件
,最后是点击保存
。通常Hosts的修改会马上生效。
MacOS hosts文件
在MacOS,hosts文件位于/etc/hosts
。要在MacOS修改Host文件,请使用您喜欢的文本编辑器打开hosts文件,
在本教程我们使用vim打开文件。运行命令sudo vim /etc/hosts
。在出现提示时输入您当前用户的密码。
编辑完成后,保存文件并退出vim。通常Hosts的修改会马上生效。如果你的hosts文件修改没有生效,你可能需要清除DNS缓存。
sudo vim /etc/hosts
dscacheutil -flushcache
结论
至此,您应该很好地理解hosts文件的工作方式以及如何对hosts文件进行修改。如果要撤消更改,只需打开文件并删除添加的行。