mac清空dns缓存:测试或开发必备
mac清空dns缓存:测试或开发必备dscacheutil -flushcache;sudo killall -HUP mDNSResponder在10.9清除DNS缓存的指令如下:sudo killall -HUP mDNSResponder如果你是使用Yosemite,在OS X Yosemite中的清除DNS缓存指令又不太一样,区分为MDNS和UDNS,或使用以下指令合并两者,你需要的指令如下:sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed
对于系统管理员或网页开发者来说,在测试或开发阶段经常需要清除电脑中暂存DNS缓存记录(Flush DNS),尤其在网站搬家、迁移虚拟主机时为了更快对应到新的主机空间也会时常清理缓存,或是反复用于测试某些设定值等等,以前使用Windows无论任何版本其实都同一指令ipconfig /flushdns,后来移转到苹果的MacOS后就记不起来了,每次都得要上网搜寻才知道该下那个指令。
会这么说是因为macOS在不同版本清除暂存DNS缓存数据需要使用的指令不太一样,不过就和Windows一样其实非常简单,但每个指令在特定macOS版本都是独一无二的,执行操作方式也都相同,无论是macOS 10.10、10.12或更新的10.13,如果你仍停留在更早期的Mac版本,打开电脑、复制以下对应的指令就能清除暂存的DNS缓存数据。
要注意的是必须通过电脑(在应用程序–工具程序)输入每一行指令,或者你可以使用其他替代程序,例如:iTerm,在执行指令时可能会要求管理员密码,如果你发现输入指令后无法正确执行,请确认一下macOS版本只否正确(点选左上角的苹果–关于这台Mac就能找到目前的操作系统版本)。
清除macOS 10.11、10.12或更新版本DNS缓存如果你是使用Sierra、El Capitan或更新版本的macOS请使用以下指令:
sudo killall -HUP mDNSResponder
清除OS X 10.10 Yosemite的DNS缓存如果你是使用Yosemite,在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合并在一起,使它成为一个连贯动作,先删除缓存、然后在macOS中重新加载DNS,让变更可以快速生效。
清除OS X Lion(10.7)和OS X Mountain Lion(10.8)DNS缓存开启电脑然后输入以下指令,你一样会被要求输入管理员密码:
sudo killall -HUP mDNSResponder
注意dscacheutil仍存在于10.7和10.8,但官方给的清除方法是删除mDNSResponder。你也可以从「活动摄像头」找到这个程序。
清除OS X 10.3和10.4 Tiger的DNS缓存在电脑输入以下指令:
lookupd -flushcache
以上就是Mac使用者可能会用到的指令。清除缓存后就能取得最新的DNS记录,你可以通过其他网络工具例如http、ping、nslookup、traceroute、curl或任何方法来验证有无生效。