本文參考資料為 How to Flush DNS Cache in Mac OS X, 作者 OS X Daily。
對於系統管理員或網頁開發者來說,在測試或開發階段經常需要清除電腦中暫存 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 或任何方法來驗證有無生效。
Ten articles before and after
Google 商家被留負評該檢舉刪除?或許業主更該做的是回應疑慮
Master Password 忘掉你的密碼吧!超簡單、聰明的跨平台密碼產生器
KeePass Password Safe 安全、簡單的帳號密碼管理工具
Apple Music 訂閱學生方案申請教學,每月 70 元聽千萬首歌曲
Spotify 免費音樂串流服務進軍台灣,線上千萬首流行歌曲免費聽
Apple Music 登陸台灣!免費三個月試用音樂串流服務