首先通过终端命令编辑hosts文件,使用sudo nano /etc/hosts输入密码后添加映射如127.0.0.1 example.com,保存退出后再执行sudo dscacheutil -flushcache和sudo killall -HUP mDNSResponder刷新DNS缓存,使配置生效。

如果您需要配置本地网络映射或屏蔽特定网站,可能需要修改macOS系统的hosts文件。该文件位于系统受保护目录中,直接编辑需通过特定权限操作。
本文运行环境:MacBook Pro,macOS Sonoma
一、使用终端命令编辑Hosts文件
通过终端调用具备管理员权限的文本编辑器,可以直接修改系统级的hosts文件。
1、打开“应用程序”中的“终端”工具。
2、输入命令 sudo nano /etc/hosts 并按下回车键。
3、系统会提示输入用户密码,输入后按回车(输入时无显示)。
4、进入nano编辑界面后,可在文件末尾添加新的IP与域名映射,例如:127.0.0.1 example.com。
5、完成编辑后,按下 Control+O 保存,按回车确认,再按 Control+X 退出编辑器。
二、使用代码编辑器图形界面修改
部分第三方代码编辑器支持以超级用户权限打开系统文件,便于在图形界面中进行编辑。
1、确保已安装支持root权限打开文件的编辑器,如VS Code或Sublime Text。
2、在终端中执行 sudo code /etc/hosts(适用于VS Code)。
3、输入密码后,文件将在编辑器中打开。
4、添加所需映射条目,保存并关闭文件。
三、通过脚本自动化添加Hosts条目
为避免重复手动操作,可编写shell脚本快速插入指定规则。
1、在终端中创建脚本文件,例如输入 nano add_host.sh。
2、写入以下内容:
#!/bin/bash
echo "127.0.0.1 test.local" | sudo tee -a /etc/hosts
3、保存并退出后,运行 chmod +x add_host.sh 赋予执行权限。
4、执行脚本:./add_host.sh,即可自动追加指定记录。
四、刷新DNS缓存使更改生效
修改完成后,系统可能仍缓存旧解析结果,需手动清除DNS缓存。
1、在终端中根据系统版本运行对应命令。对于macOS Sonoma,输入:sudo dscacheutil -flushcache。
2、同时执行 sudo killall -HUP mDNSResponder 重启解析服务。
3、刷新后,新配置的hosts规则将立即生效。










