如何刷新dns缓存命令?很多用户并不是很清楚,Windows 用户需以管理员身份打开命令提示符,输入 ipconfig /flushdns 并回车,即可清空本地 DNS 缓存。macOS 用户需根据版本选择命令:Monterey 及以后版本运行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,输入密码后生效,其他版本命令略有差异但结构类似。
如何刷新dns缓存命令?
刷新DNS缓存的命令因操作系统不同而有所差异,以下是针对 Windows、macOS、Linux 系统的详细操作指南:
一、Windows 系统
Windows 系统通过 ipconfig 命令管理 DNS 缓存,具体步骤如下:
以管理员身份运行命令提示符或 PowerShell
右键点击“开始”菜单,选择 Windows Terminal或 命令提示符。
执行刷新命令
cmdipconfig /flushdns
成功执行后,会显示提示:
Windows IP 配置已成功刷新 DNS 解析缓存。
验证缓存是否清空
cmdipconfig /displaydns
此命令会显示当前 DNS 缓存内容,若返回空列表则表示缓存已清除。
二、macOS 系统
macOS 的 DNS 缓存刷新命令因版本不同有所变化,需根据系统版本选择对应命令:
打开“终端”
通过 Spotlight 搜索输入“Terminal”打开。
执行对应命令
macOS 12(Monterey)及以后版本:
bashsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 11(Big Sur):
bashsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 10.11 - 10.15(El Capitan 到 Catalina):
bashsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 10.10(Yosemite):
bashsudo discoveryutil mdnsflushcache
macOS 10.9(Mavericks)及更早版本:
bashsudo dscacheutil -flushcache
输入管理员密码
执行命令后需输入系统密码,输入时不会显示字符,直接回车确认。
三、Linux 系统
Linux 默认不缓存 DNS 记录,以下是常见情况的解决方法:
若使用 nscd(Name Service Cache Daemon)
bashsudo systemctl restart nscd# 或sudo service nscd restart
若使用 systemd-resolved
bashsudo systemd-resolve --flush-caches
验证缓存状态
bashsudo systemd-resolve --statistics
查看 Cache Size 是否为 0,确认缓存已清空。
四、通用建议
刷新后测试 DNS 解析
使用 nslookup 或 dig 命令检查域名解析是否生效:
bashnslookup example.com# 或dig example.com
重启浏览器或应用
刷新 DNS 缓存后,建议重启浏览器或相关应用程序,确保使用最新 DNS 记录。
修改 hosts 文件
若 DNS 刷新无效,可手动编辑 hosts 文件(路径:C:\Windows\System32\drivers\etc\hosts(Windows)或 /etc/hosts(macOS/Linux)),临时覆盖 DNS 解析。
五、常见问题
权限不足:确保以管理员/root 身份运行命令。
命令无效:检查系统版本是否匹配对应命令。
缓存未更新:可能是本地网络设备缓存未过期,需重启路由器或等待 TTL 到期。
以上就是如何刷新dns缓存命令的详细解答,Linux 默认无全局 DNS 缓存,若使用 nscd 或 systemd-resolved 服务,需分别执行 sudo systemctl restart nscd 或 sudo systemd-resolve --flush-caches。刷新后建议重启浏览器,并通过 nslookup 域名 测试解析是否更新。若问题依旧,可检查路由器缓存或修改 hosts 文件临时覆盖。