hosts是主机名解释静态表the static table lookup for host name。hosts文件是MacOS系统负责ip地址与域名快速解析的文件。

以ASCII格式保存在/etc/目录。hosts文件包含ip地址与主机名之间的映射,还包括主机的别名。

在没有域名服务器解析的情况,MacOS系统所有程序查询/etc/hosts文件解析对主机名或者域名的IP地址。

否则就需要使用DNS服务器解释域名。通常可以将域名和IP地址映射加入到hosts文件中,实现快速方便的访问。

hosts文件作用

hosts文件可以配置IP地址与对应的主机名。在局域网或者是互联网,每台主机都有一个IP地址,它区分开每台主机,并可以根据IP地址进行通讯。

但是IP地址不符合人脑的记忆规律,因此出现了域名,例如www.myfreax.com。在局域网,每台机器都有一个主机名,用于区分主机,便于相互访问。

主机名通常在局域网内使用,通过hosts文件就可以解析主机名到对应的IP地址。域名通常在互联网使用,但是优先级低于hosts文件的记录。

因此如果你不想使用在互联网进行域名解析,可以修改自己的hosts文件,加入自己的域名解析。

hosts文件格式

ip地址   主机名/域名   (主机别名)

MacOS hosts文件

在MacOS,hosts文件位于/etc/hosts。要在MacOS修改Host文件,请使用您喜欢的文本编辑器打开hosts文件,

在本教程我们使用vim打开文件。运行命令sudo vim /etc/hosts。在出现提示时输入您当前用户的密码。

MacOS 修改/etc/hosts文件编辑完成后,保存文件并退出vim。通常Hosts的修改会马上生效。如果你的hosts文件修改没有生效,你可能需要清除DNS缓存。

sudo vim /etc/hosts
dscacheutil -flushcache
127.0.0.1 www.baidu.com
/etc/hosts

要验证修改/etc/hosts文件是否正确,可以运行ping命令,查看域名或者主机名解释到正确的IP地址。

ping www.baidu.com
PING www.baidu.com (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.046 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.085 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.038 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.062 ms
^C
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3065ms
rtt min/avg/max/mdev = 0.038/0.057/0.085/0.017 ms

结论

至此,你了什么是host文件,host文件的作用,如何修改host文件。如果您有任何问题或反馈,请随时发表评论。