无论您是系统管理员,Web开发人员,还是介于两者之间的任何人,都有机会每隔一段时间刷新一次DNS缓存,以理清服务器端的情况,甚至只是为了测试某些配置。

在Mac OS X中刷新DNS缓存实际上确实很容易,但是实际上有几个不同的命令可以使用,并且您会发现这些命令对于Mac OS X的不同版本是唯一的。无论您使用什么版本的Mac,我们都能为您提供帮助。您正在运行的Mac OS X从MacOS Sierra 10.12、10.11、10.13,OS X 10.10,OS X 10.9一直回到10.4。因此,找到您的OS X版本,打开您的终端,然后按照下面的相应说明进行操作。

请记住,必须通过终端应用程序(在所有版本的Mac OS X中的/ Applications / Utilities /中找到)将每个命令输入到命令行中。首先启动该应用程序,然后根据需要复制和粘贴命令。

在MacOS 10.12、10.11或更高版本中刷新DNS缓存

对于Sierra,El Capitan和较新的Mac OS版本:

sudo killall -HUP mDNSResponder

在OS X 10.10 Yosemite中清除DNS缓存

运行优胜美地?清除OS X Yosemite中的DNS缓存再次发生了变化,分为MDNS和UDNS或结合使用,如下所示,这是需要的命令:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed

你可以

在OS X 10.9 Mavericks中刷新DNS

雷尔是如何刷新10.9中的DNS缓存:

dscacheutil -flushcache;sudo killall -HUP mDNSResponder

您需要输入管理员密码才能完成此任务。如果您注意到了,它将杀死mDNSResponder与标准dscacheutil结合在一起,使其成为两步过程,首先刷新缓存,然后重新加载OS X中的DNS处理,以使更改生效。

在OS X Lion(10.7)和OS X Mountain Lion(10.8)中刷新DNS缓存

启动终端并输入以下命令,您将需要输入管理密码:您还可以在活动监视器中找到正在运行的进程。
sudo killall -HUP mDNSResponder

如果您发现自己经常刷新DNS,一个有用的技巧是在.bash_profile或所选shell的配置文件中为该命令字符串设置别名。刷新缓存的简单bash别名可能是这样的:

alias flushdns='dscacheutil -flushcache;sudo killall -HUP mDNSResponder'

将其保存到.bash_profile中,然后键入“ flushdns”将避免将来使用完整的命令字符串。

在Mac OS X 10.5,Mac OS X 10.6中刷新DNS缓存

启动终端并发出以下命令:附带说明一下,dscacheutil通常很有趣,值得一看,请尝试使用-statistics标志代替一些统计信息。
dscacheutil -flushcache

在Mac OS X 10.4 Tiger和10.3中清除DNS

在终端中键入以下命令:
lookupd -flushcache

就是这样,仅此而已。现在,您的DNS设置应该如您预期的那样,您可以使用各种网络工具(例如http,ping,nslookup,traceroute,curl或其他适合您特定情况的工具)轻松进行验证。

如果发现某些问题不起作用并且DNS似乎没有更改,请验证您正在运行的OS X的版本,并使用适当的命令来获取最新版本。如果之后仍然遇到问题,最好在其他网络(例如手机)上尝试使用另一台计算机,以验证远程服务器不是问题。