如何修改macOS Hosts文件?mac编辑hosts文件教程


时间: 2021-10-19 12:09:00 人气: 1147 评论: 0

在macOS上编辑hosts文件

在hosts文件是由主机名和对应的IP地址列表的文本文件。它基本上用作您的操作系统用来识别和定位IP网络上的主机的域名数据库。

当您的机器需要查找IP地址时,它将首先搜索主机文件。如果请求的名称不在本地主机文件中,下一步是尝试使用域名服务(DNS)服务器解析地址。如果无法通过DNS服务器找到名称,则请求将失败。

例如:如果macOS的Hosts文件里面加了一条数据:127.0.0.1 Adobe.com。 当你在浏览器输入Adobe.com的时候系统会将Adobe.com解析到127.0.0.1,也就是你访问的是Adobe.com,但实际上浏览器需要访问的是127.0.0.1。

什么是hosts以及它在哪里

Hosts文件是Mac上的隐藏文件,可让您完全按照指定覆盖DNS设置。让我们详细说明。互联网上的任何网站都有一个标准的数字TCP/IP地址(例如 192.168.1.1),这就是您的浏览器实际上能够找到您想要的网站的方式。然而,没有人愿意记住所有这些TCP/IP号码,这就是创建域管理系统 (DNS) 的原因。

每次您在浏览器(例如macZL.com)中输入URL时,它都会ping域服务器,然后域服务器将请求的域转换为TCP/IP格式,然后才进行连接以便能够显示。

话虽如此,在某些情况下,您不希望域名转到实际的TCP/IP,而是更愿意写下您自己的域名。当您想要测试正在本地开发的新网站或新的开发服务器时,这可能是必要的。您还可以在Mac上使用Hosts文件来阻止广告软件和间谍软件网站,甚至是一些浪费时间的网站(例如社交媒体)。

现在让我们了解如何在Mac上更改Hosts文件。

编辑Hosts文件的方法(一)

编辑Hosts文件的Mac功能并不难,虽然完全不明显的过程。要在Mac上打开隐藏的Hosts文件,您需要使用终端:

  1. 在Mac上启动“终端”程序

  2. 输入sudo nano /etc/hosts并按回车键

  3. 输入您的管理员密码后您会看到到您在Nano文本编辑器中,您可以在其中实际编辑Mac的Hosts文件。如您所见,一些TCP/IP地址已经反映在此处针对localhost和broadcasthost标题。输入您自己的TCP/IP所需要做的就是遵循相同的格式

  4. 使用Mac键盘上的方向键(↑↓←→)把光标移到编辑器的上内容的尾部,这样编辑后续编辑比较方便

  5. 按下回车键在现有记录下方创建一些空间

  6. 输入TCP/IP地址

  7. Tab

  8. 输入您需要阻止访问的域名或IP地址

  9. 使用Mac组合键Command+S保存刚才编辑的Hosts文件

  10. 在终端中,键入sudo killall -HUP mDNSResponder后跟回车键以清除Mac的DNS缓存并防止DNS和主机文件之间发生任何冲突

  11. 使用组合键Command+Q退出终端程序

更改应立即生效。通过这种方式使用 Mac Hosts 文件,您可以从其他网站到您自己的开发服务器到您的Mac输入任何您需要的 TCP/IP(只需输入 127.0.0.1),这在您想避免使用社交媒体时非常有用或其他干扰。您还可以彻底阻止地址为0.0.0.0的恶意网站。

添加多个条目时,请确保每个条目都有自己的一行。要取消更改,请重复上述过程,但只需删除您之前添加的不再需要的行。

编辑Hosts文件的方法(二)

此方法比较简单直观,使用“文本编辑”直接编辑即可。适合小白及不熟悉编写的大部分用户。

  1. 在桌面依次点击Mac顶部导航栏上的“前往”→“前往文件夹”或同时按Mac键盘组合键:Command + Shift + G,如下图:

  2. 在弹出的前往文件夹:输入/etc,然后回车或点击前住,如下图:

  3. 找到hosts文件并将其拖拽到桌面(直接编辑可能编辑不了),如下图:

  4. 编辑桌面上的hosts文件,如下图:

  5. 编辑完成后将桌面上的hosts文件拖拽到/etc目录下替换系统 hosts:

  6. 输入电脑密码或者使用 Touch ID 解锁完成替换。

未生效怎么办

如果修改完Hosts不生效的话,打开终端,分别执行以下两条命令即可:

  • /usr/bin/dscacheutil -flushcache

  • sudo killall -HUP mDNSResponder

需要注意:第二条命令是root命令,执行的时候是需要输入密码的,密码在终端输入的过程中不显示,直接输入,输入完成回车即可。

修复Hosts文件

有时,当您向Hosts文件添加太多条目时,Mac可能无法正确处理它们。可能是某些TCP/IP地址正在响应相同的域名,或者您删除了一些其他重要信息。
要解决这种情况,您可以尝试按照上述说明进入Nano文本编辑器,然后删除那里的所有内容并重新键入默认配置:
##
# Host Database
#
#
# localhost is used to configure the lookback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

输入以上配置之后和方法(一)一样,Command+S保存。这个配置是您的Mac出产时的配置。

虽然这可能有效也可能无效,但有一种更好的预防方法可以确保您最终不会以某种方式破坏您的系统——创建一致的备份。

Disk Drill是最受好评的数据恢复和备份工具。它让您可以毫不费力地将文件备份到任何外部驱动器,这样您就可以随时拥有一份信息副本。

如果您的外部磁盘上没有足够的空间来复制您的硬盘驱动器并且只想保护您的 Mac Hosts 文件,您可以在进行任何更改之前简单地将其复制为原始状态。

要在 Mac 上找到 Hosts 文件:

  1. 从Mac菜单栏中选择“前往”→“前往文件夹...

  2. 在弹出的前往文件夹:输入/private/etc/hosts,然后回车或点击前住,如下图:

  3. 点击“前往

您应该最终位于“etc”文件夹中,并突出显示Mac Hosts文件。只需使用Disk Drill 文档复制到外部硬盘驱动器上,然后您就可以自信地试验Hosts文件,而不必担心破坏任何内容。

然而,如果问题已经发生,Disk Drill可以尝试使用其恢复模式来恢复您的文件。要试一试,请启动Disk Drill并单击Macintosh HD旁边的恢复。

保护您的日常互联网存在

当您在Mac上修改Hosts文件的唯一目的是被广告软件、间谍软件或类似的东西困扰时,不要当心。

CleanMyMac X是一款一体化优化实用程序,可轻松检测和删除 Mac 中的恶意软件。只需从侧边栏中选择恶意软件删除扫描,CleanMyMac X就会在几秒钟内找到您计算机上的任何恶意文件。

此外,CleanMyMac X可以轻松刷新DNS缓存(不使用终端),以及清除浏览器缓存、运行维护脚本,并轻松保持Mac的整体最佳状态。只需从快速智能扫描开始,然后不时进行各种优化测试,这些测试位于侧边栏中,只需按照说明进行操作即可。

如您所见,您有几个选项可以查找和编辑Mac的Hosts文件。随意遵循上面的指南并尝试各种TCP/IP 设置来检查您的开发服务器或阻止不需要的网站。

另请记住,并非所有事情都必须通过Mac Hosts文件完成。事实上,在优化浏览器和删除恶意软件时,将其视为最后的手段,并尝试更多地依赖使用像CleanMyMac X这样的直观软件。如果您绝对必须使用 Hosts 文件,请确保您使用Disk Drill正确备份您的Mac,这样您就可以在出现问题时恢复您的Hosts文件。

最重要的是,Mac助理同时提供CleanMyMac X和Disk Drill下载,安装完成后终身免费使用。

评论
游客