萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> macOS 教學

Mac 修改 hosts 檔案四大法:vim/nano 終端機編輯、cat 批次追加、GUI 圖形介面權限修改

/etc/hosts 是本機域名解析覆寫表,常用於開發測試 (本地域名指向 127.0.0.1)、阻擋廣告/追蹤域名、內網服務命名。macOS 預設保護此檔,需管理員權限編輯。本文提供四種不同習慣的編輯方法。

方法一:vim 編輯器 (系統內建、功能最強、適合熟手)

  1. 終端機執行:sudo vim /etc/hosts (輸入密碼不顯示字元,輸完按 Enter)。
  2. 按 i 進入插入模式,編輯內容 (格式:IP 域名,如 127.0.0.1 local.dev)。
  3. 按 Esc 退出插入模式,輸入 :wq 存檔離開 (含冒號)。

常用 vim 指令::q! 強制不存離開、dd 刪除整行、u 復原、/ 搜尋。

方法二:nano 編輯器 (直觀易用、類記事本、適合新手)

  1. 終端機執行:sudo nano /etc/hosts。
  2. 直接用方向鍵移動游標編輯。
  3. Control+O (WriteOut) → Enter 確認檔名存檔。
  4. Control+X 離開。

方法三:cat 指令批次追加 (適合腳本自動化、大量條目匯入)

  1. 將欲新增的 hosts 條目存為文字檔 (如 ~/hosts_add.txt):

127.0.0.1  ad.doubleclick.net
127.0.0.1  analytics.google.com
192.168.1.50  internal-server
  1. 終端機執行:

sudo sh -c 'cat ~/hosts_add.txt >> /etc/hosts'
# 或分步
sudo -s
cat ~/hosts_add.txt >> /etc/hosts
exit

優點:不進入互動編輯器,適合自動化腳本、CI/CD 管線、大量封鎖清單匯入 (如 StevenBlack/hosts 專案)。

方法四:GUI 圖形介面修改 (完全不碰終端機)

  1. Finder 按 Command+Shift+G → 輸入 /private → 進入 etc 資料夾。
  2. 右鍵 etc →「顯示簡介」 (Get Info) → 左下角鎖頭解鎖 (輸入密碼) → 「共用與權限」→「everyone」權限改「讀取與寫入」。
  3. 進入 etc 資料夾,同樣修改 hosts 檔案權限為「everyone 讀取與寫入」。
  4. 雙擊 hosts 用文字編輯器 (TextEdit、VS Code、CotEditor) 開啟編輯存檔。
  5. 完成後務必將 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 權限法直觀、熟悉操作邏輯

注意事項

  • 修改 hosts 後必須清除 DNS 快取 才能即時生效。
  • IPv6 封鎖需加入 ::1 domain.com。
  • 系統更新可能重置 hosts,建議將自訂條目維護在獨立檔案,登入腳本/啟動項自動追加。
  • 格式錯誤 (如缺少 IP、多餘空格) 會導致該行失效,不影響其他行。

四大法任君選擇,掌握 hosts 修改,掌控本機域名解析命脈。

copyright © 萬盛學電腦網 all rights reserved