/etc/hosts 是本機域名解析覆寫表,常用於開發測試 (本地域名指向 127.0.0.1)、阻擋廣告/追蹤域名、內網服務命名。macOS 預設保護此檔,需管理員權限編輯。本文提供四種不同習慣的編輯方法。
sudo vim /etc/hosts (輸入密碼不顯示字元,輸完按 Enter)。IP 域名,如 127.0.0.1 local.dev)。:wq 存檔離開 (含冒號)。常用 vim 指令::q! 強制不存離開、dd 刪除整行、u 復原、/ 搜尋。
sudo nano /etc/hosts。~/hosts_add.txt):
127.0.0.1 ad.doubleclick.net
127.0.0.1 analytics.google.com
192.168.1.50 internal-server
sudo sh -c 'cat ~/hosts_add.txt >> /etc/hosts'
# 或分步
sudo -s
cat ~/hosts_add.txt >> /etc/hosts
exit
優點:不進入互動編輯器,適合自動化腳本、CI/CD 管線、大量封鎖清單匯入 (如 StevenBlack/hosts 專案)。
/private → 進入 etc 資料夾。etc →「顯示簡介」 (Get Info) → 左下角鎖頭解鎖 (輸入密碼) → 「共用與權限」→「everyone」權限改「讀取與寫入」。etc 資料夾,同樣修改 hosts 檔案權限為「everyone 讀取與寫入」。hosts 用文字編輯器 (TextEdit、VS Code、CotEditor) 開啟編輯存檔。hosts 與 etc 權限改回「everyone 唯讀」,鎖上鎖頭。
# 清除 DNS 快取 (macOS 版本不同指令略異)
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# 測試解析
ping local.dev
dig local.dev
nslookup local.dev
| 使用者類型 | 推薦方法 | 理由 |
|---|---|---|
| 終端機熟手 / 開發者 / 系統管理員 | vim / nano | 高效、可腳本化、無需改權限 |
| 大量條目批次匯入 / 自動化腳本 | cat 追加 | 非互動、可整合腳本 |
| 恐懼終端機 / 偶爾修改 / 視覺化編輯 | GUI 權限法 | 直觀、熟悉操作邏輯 |
::1 domain.com。四大法任君選擇,掌握 hosts 修改,掌控本機域名解析命脈。