hosts是主机名解释静态表the static table lookup for host name。hosts文件是Linux系统负责ip地址与域名快速解析的文件。
以ASCII格式保存在/etc/目录。hosts文件包含ip地址与主机名之间的映射,还包括主机的别名。
在没有域名服务器解析的情况,Linux系统所有程序查询/etc/hosts文件解析对主机名或者域名的IP地址。
否则就需要使用DNS服务器解释域名。通常可以将域名和IP地址映射加入到hosts文件中,实现快速方便的访问。
hosts文件作用
hosts文件可以配置IP地址与对应的主机名。在局域网或者是互联网,每台主机都有一个IP地址,它区分开每台主机,并可以根据IP地址进行通讯。
但是IP地址不符合人脑的记忆规律,因此出现了域名,例如www.myfreax.com。在局域网,每台机器都有一个主机名,用于区分主机,便于相互访问。
主机名通常在局域网内使用,通过hosts文件就可以解析主机名到对应的IP地址。域名通常在互联网使用,但是优先级低于hosts文件的记录。
因此如果你不想使用在互联网进行域名解析,可以修改自己的hosts文件,加入自己的域名解析。
hosts文件格式
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
要验证修改/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文件。如果您有任何问题或反馈,请随时发表评论。