對於系統管理員或網頁開發者來說,在測試或開發階段經常需要清除電腦中暫存 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,或使用以下指令合併兩者,你需要的指令如下: