最稳妥断开当前wifi的方式是nmcli device wifi disconnect,它立即终止活跃连接、自动清理ip/路由/dns,不依赖连接名或接口名,且无需sudo;而nmcli connection down适用于精确控制已保存连接,iwconfig和nmcli device disconnect则易导致状态异常或设备禁用。

nmcli device wifi disconnect 直接断开当前 WiFi
这是最常用、也最稳妥的方式,nmcli device wifi disconnect 会立即终止当前活跃的无线连接,不依赖连接名或接口名,也不需要提前查状态。
执行后 NetworkManager 会自动清理关联的 IP 地址、路由和 DNS 设置,后续 nmcli device wifi list 也能立刻刷新扫描结果。
- 不需要 sudo(只要当前用户在
netdev或network-manager组里) - 如果当前没连 WiFi,命令会静默失败,无报错输出
- 不会禁用无线网卡(
wlan0仍处于connected状态,只是没连 AP)
nmcli connection down connection-name 的适用场景
当你需要精确控制某一个已保存的连接(比如多配置共存、测试不同 SSID 时),用连接名断开更可靠。但前提是得先知道它的名字:
nmcli connection show --active 查出当前激活的连接名(如 JioFi4_12E9FE),再执行 nmcli connection down JioFi4_12E9FE。
- 这个命令会释放该连接绑定的所有资源,包括 IPv4/IPv6 地址、DHCP 租约等
- 如果连接名含空格或特殊字符,必须加引号:
nmcli connection down "My Home WiFi" - 注意:它不会删除连接配置,只是临时停用;下次仍可
nmcli connection up恢复
别用 iwconfig wlan0 disconnect —— 大概率失效
这条命令在多数现代发行版上已经不生效,尤其当 NetworkManager 正在管理无线设备时。它绕过 NetworkManager 直接发 ioctl,容易导致状态不一致:
- 界面可能还显示“已连接”,但实际无法通信
- 再次
nmcli device wifi connect可能报No suitable device found - 某些内核版本(如 5.15+)直接拒绝该调用,返回
Operation not supported
除非你明确关闭了 NetworkManager 并手动用 wpa_supplicant 管理,否则不要碰 iwconfig 断连。
断开后无线网卡还在,但别误以为要 ifconfig down
nmcli device disconnect wlan0 是禁用整个设备(相当于拔网线),会导致 NetworkManager 丢弃所有连接配置,且后续 reconnect 可能失败。这不是“断开 WiFi”,而是“关掉无线网卡”。
- 仅在调试驱动或排查硬件问题时才用
- 日常断连 WiFi,请坚持用
nmcli device wifi disconnect - 恢复网卡需
nmcli device connect wlan0,不是ifconfig wlan0 up
真正容易被忽略的是:断开 WiFi 后,NetworkManager 默认不会自动重连上次网络——除非那个连接配置里启用了 autoconnect yes(大多数 GUI 创建的连接默认开启,但命令行直连的不会自动设)。需要的话,得手动补一句:nmcli connection modify "MyWiFi" autoconnect yes。











