如何使用终端在 Mac OS X 中编辑主机文件

在 Mac OS X 中编辑 Hosts 文件使用终端

需要在 Mac 上编辑或修改主机文件?本指南将向您展示如何在 Mac OS 中编辑主机文件。您会发现 Mac OS X 中的主机存储在 /private/etc/hosts 中,但也可以在更传统的 /etc/hosts 位置访问它。也就是说,如果你想编辑主机,你会想要定位位于 /private/etc/ 中的文件。

我们将介绍如何在 macOS Big Sur、MacOS Mojave、MacOS Catalina、MacOS High Sierra、MacOS Sierra、OS X El Capitan、Yosemite、OS X Lion、OS X Mountain Lion 和OS X Mavericks,这将使用名为 nano 的简单文本编辑器通过命令行完成。不要让命令行或终端听起来令人生畏,因为它不是,我们将使编辑 Mac 主机文件的整个过程变得超级简单。

如何在 Mac OS 上编辑主机文件

让我们开始对 macOS 和 Mac OS X 中的 /etc/hosts 进行一些编辑吧!

  1. 启动终端,位于 /Applications/Utilities/ 或通过 Spotlight 启动
  2. 在提示符下键入以下命令:
  3. sudo nano /private/etc/hosts

  4. 在要求时输入管理员密码,您不会像往常一样在屏幕上看到命令行输入的密码
  5. 在 nano 中加载主机文件后,使用箭头键导航到主机文件的底部进行修改
  6. 完成后,按 Control+O,然后按 ENTER/RETURN 将更改保存到 /private/etc/hosts,然后按 Control+X 退出 nano
  7. 完成后退出终端

您可以使用 ping、Safari 或任何其他网络应用程序立即验证您的主机修改。

更改会立即生效,但某些调整可能需要伴随 DNS 刷新 可以在 macOS 10.12+ 到 OS X 10.9 中使用以下命令完成:

dscacheutil -flushcachesudo killall -HUP mDNSResponder

使用该命令刷新 DNS 缓存时,您需要输入管理员密码。

如果您想在自己动手之前了解整个过程是如何完成的,请观看下面的视频,了解在 Mac OS X 上修改主机文件以阻止网站“yahoo.com”加载的演示:

<

注意:该过程与旧版本的 Mac OS X 相同,但如果 Mac OS X 版本过时,主机路径可能是 /etc/hosts。

编辑主机文件时要考虑的提示

以下提示超越了 Mac OS X,适用于任何主机文件,无论是在 Mac、Windows 还是 Linux 上。

如果您计划进行重大更改或只是想尝试修改并看看会发生什么,那么备份主机文件可能是个好主意,一个简单的方法是使用此命令,这将将备份存储在您的家 ~/Documents/ 文件夹中:

sudo cp /private/etc/hosts ~/Documents/hosts-backup

然后,如果你想将修改后的主机恢复到原始文件的备份,你只需要像这样交换路径并重新命名文件:

sudo cp ~/Documents/hosts-backup /private/etc/hosts

就是这样,尽管您可能需要刷新 DNS 才能使更改生效。

最后,值得一提的是,如果您希望完全避免使用终端和命令行,您可以 尝试使用首选项窗格的更简单方法,而不是通过系统首选项来修改主机的内容。不过一般来说,我们建议只使用直接内置于 Mac 中的工具。

如果您有任何问题或提示,请在评论中告诉我们。