1. 首页
  2. 技术教程

在 macOS 终端机清除暂存DNS缓存指令(命令)一览(Flush DNS)

对于系统管理员或网页开发者来说,在测试或开发阶段经常需要清除电脑中暂存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 或任何方法来验证有无生效。

原创文章,作者:yuanyuan,如若转载,请注明出处:https://www.xiaoyuanjiu.com/5995.html

发表评论

登录后才能评论