我对 Ubuntu 还很陌生,我想知道: 的具体用途是什么/etc/hosts
?
假设我将这个添加到其中:
127.0.x.x mydomain
这意味着什么?
答案1
目的
hosts 文件是协助寻址计算机网络中的网络节点的几种系统工具之一。它是操作系统 Internet 协议 (IP) 实现的常见部分,用于将人性化的主机名转换为数字协议地址(称为 IP 地址),以识别和定位 IP 网络中的主机。在某些操作系统中,hosts 文件的内容优先于其他方法(例如域名系统 (DNS)),但许多系统会实现名称服务交换机(例如 Linux 和 Unix 的 nsswitch.conf)以提供自定义功能。与 DNS 不同,hosts 文件由本地计算机管理员直接控制
文件内容
hosts 文件包含多行文本,第一个文本字段中是 IP 地址,后面是一个或多个主机名。每个字段由空格(空格或制表符)分隔。可能包含注释行;注释行在注释行的第一个位置用井号 (#) 表示。文件中的空白行将被忽略。例如,典型的 hosts 文件可能包含以下内容:
# This is an example of the hosts file 127.0.0.1 localhost loopback ::1 localhost
此示例仅包含系统的环回地址及其主机名的条目,这是 hosts 文件的典型默认内容。此示例说明一个 IP 地址可以有多个主机名,并且一个主机名可以映射到多个 IP 地址。
这是无效的(?):
127.0.x.x mydomain
通配符*
本来就应该是这样的,127.0.*.*
但我几乎看不到除此之外的任何东西127.0.0.1
;)
这意味着您可以将其用作mydomain
该 IP 地址的名称。它www.google.com
比记住74.125.132.106
Google 用于其搜索引擎的 IP 地址 () 更容易使用。同样的操作在您的机器上本地 (localhost) 运行。如果您运行自己的 Apache 实例,您可以将本地 IP 地址设置为名称并在浏览器中使用该名称。
示例中的::1
是 IP 地址的 IP v6 版本。
答案2
这意味着系统将不会执行 DNS 查找mydomain
,它将自动重定向到您在 hosts 文件中指定的 IP 地址。
在大多数系统上,hosts 文件中的默认条目是:
127.0.0.1 localhost
127.0.0.1
始终是您所在计算机的地址。例如,如果您在 PC 上运行 Web 服务器,则可以通过 Web 浏览器访问它,http://localhost:port
而不必输入完整的 IP 地址http://127.0.0.1:port
。