终端可彻底重置macos网络:一、用networksetup命令清空所有已知wi-fi;二、killall mdnsresponder并flush dns缓存;三、移除systemconfiguration下核心plist文件重建配置;四、清理钥匙串中残留wi-fi密码。
直接用终端命令重置 macos 网络并清空所有已知 wi-fi,比图形界面更彻底——它会删掉底层配置文件、刷新 dns 和路由、重载网络服务,还能精准移除隐藏或无法在设置里看到的 wi-fi 记录。
一、先清空所有已保存的 Wi-Fi 配置
系统设置有时无法列出全部记录,终端能扫出完整列表并逐个删除:
- 运行 /usr/sbin/networksetup -listallpreferredwirelessnetworks Wi-Fi 查看全部已存 SSID
- 对每个要清除的网络,执行 /usr/sbin/networksetup -removepreferredwirelessnetwork Wi-Fi "NetworkName"(注意英文引号)
- 若想一键清空全部,可配合 shell 循环:
for ssid in $(/usr/sbin/networksetup -listallpreferredwirelessnetworks Wi-Fi | tail -n +2 | awk '{print $1}'); do /usr/sbin/networksetup -removepreferredwirelessnetwork Wi-Fi "$ssid"; done
二、强制刷新 DNS、mDNS 与网络协议栈
仅删 Wi-Fi 不够,DNS 缓存、服务发现和路由表残留会导致“已连接但上不了网”:
- 重启 DNS 解析服务:sudo killall -HUP mDNSResponder
- 补充清理本地缓存:sudo dscacheutil -flushcache
- 如遇 AirDrop 或 Bonjour 异常,加一句:sudo killall -HUP mDNSResponderHelper
- 查主接口名(通常是 en0 或 en1):ifconfig | grep "^[a-z]" | head -1 | awk '{print $1}'
- 重置接口与路由:sudo ifconfig en0 down && sudo route -n flush && sudo ifconfig en0 up(把 en0 换成你实际接口)
三、删除核心网络配置文件并重建
/Library/Preferences/SystemConfiguration/ 下的 plist 是 macOS 网络的“唯一真相源”,GUI 操作不碰它们:
- 停掉系统配置守护进程:sudo launchctl unload /System/Library/LaunchDaemons/com.apple.networking.systemconfiguration.plist
- 备份并移走关键文件:sudo mv /Library/Preferences/SystemConfiguration/{NetworkInterfaces,com.apple.airport.preferences,com.apple.network.identification,com.apple.wifi.message-tracer,preferences.plist} /tmp/
- 重启守护进程:sudo launchctl load /System/Library/LaunchDaemons/com.apple.networking.systemconfiguration.plist
- 重启 Mac,系统会自动生成全新配置,Wi-Fi 密码不会恢复(除非开启 iCloud 钥匙串同步)
四、额外清理:钥匙串中的 Wi-Fi 密码
终端删配置后,密码可能还留在钥匙串里,导致重连时自动填错:
- 打开“钥匙串访问”,左侧选“登录”,右上角搜索栏输入 Wi-Fi 名称
- 找到类型为 “AirPort network password” 的条目,双击 → 勾选“显示密码”,确认后删除整条记录
- 或用命令批量查:security find-internet-password -s "YourSSID" -w 2>/dev/null || echo "Not found"











