macos 网络配置可通过命令行工具实现自动化:networksetup 是系统级核心工具,支持 wi-fi 开关、tcp/ip 模式切换、dns 设置及服务排序;m-cli network 封装其功能,提供语义化子命令;manage-wifi-cli 专注无线操作;mac cli 则集成测速、开关、端口诊断等开发友好功能。

macOS 网络配置界面本身不支持原生脚本化操作,但可通过命令行工具实现自动化管理,无需图形界面干预,稳定、可复现、适合批量部署或开发/测试环境切换。
networksetup:系统级网络接口控制核心
这是 macOS 内置的权威命令行工具,直接调用系统网络服务,无需额外安装,覆盖全部基础配置场景:
- 启用/禁用 Wi-Fi:
sudo networksetup -setairportpower "Wi-Fi" on或off - 切换 TCP/IP 模式:
sudo networksetup -setdhcp "Wi-Fi"(DHCP)或-setmanual(静态 IP,需指定 IP、子网掩码、路由器) - 设置 DNS:
sudo networksetup -setdnsservers "Wi-Fi" 8.8.8.8 1.1.1.1 - 修改服务顺序(影响默认路由):
sudo networksetup -ordernetworkservices "Wi-Fi" "Bluetooth PAN"
m-cli Network:封装 networksetup 的高效封装层
它把繁琐的 networksetup 命令抽象为语义清晰的子命令,降低出错率,提升可读性与复用性:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 快速查看所有接口 IP:
m network --list - 管理网络位置(如“家庭”“办公室”):
m network --location create 办公室网络,再用switch切换 - 一键刷新 DNS 缓存:
m network --dns flush - 检查当前连接状态:
m network --status
manage-wifi-cli:专注无线连接的轻量 CLI
专为 Wi-Fi 开关、扫描、连接设计,响应快、依赖少,适合嵌入自动化流程或快捷键触发:
- 列出可用网络:
manage-wifi list - 连接指定 SSID:
manage-wifi connect "MyHomeWiFi" --password "12345678" - 断开并关闭无线电:
manage-wifi disconnect && manage-wifi off - 支持在 Shell 脚本中判断 Wi-Fi 状态后执行分支逻辑
Mac CLI 的网络模块:面向开发者的集成方案
作为多功能终端增强套件,其网络命令更强调与日常开发工作流融合:
- 一键测速:
mac speedtest(调用 Speedtest CLI) - 开关蓝牙/Wi-Fi:
mac wifi:enable/mac bluetooth:disable - 端口诊断:
mac ports:listen查看监听端口,mac ports:kill 3000强制释放 - 结合 Git Hook 或 CI 脚本,在构建前自动切到测试网络环境










