nmcli 是 NetworkManager 的命令行接口,通过 D-Bus 通信实现配置即生效;支持查看状态、管理连接(增删改查)、配置静态/DHCP/无线网络,不直接操作底层配置文件。

nmcli 是 NetworkManager 的命令行接口,专为在无图形环境或脚本中高效管理网络连接而设计。它不操作底层配置文件,而是通过 D-Bus 与 NetworkManager 守护进程通信,实现配置即生效、持久化可分离的可靠管理。
快速查看当前网络状态
掌握系统整体联网情况是第一步:
- nmcli general status:显示 NetworkManager 状态(如 connected)、连通性等级(full/limited/portal)、Wi-Fi 和 WWAN 硬件/服务开关状态
- nmcli networking:仅输出 on/off,适合脚本判断全局网络是否启用
- nmcli device status:列出所有网卡设备(eth0、wlan0、lo 等)及其当前状态(已连接、断开、未托管)和关联连接名
查看和管理已有连接
“连接”(connection)是 NetworkManager 的核心抽象,代表一组保存的网络配置(IP、DNS、自动连接等):
- nmcli connection show:列出所有已定义连接(含名称、UUID、类型、绑定设备)
- nmcli connection show "有线连接 1":查看指定连接的完整配置细节(含 IPv4/IPv6 地址、网关、DNS、MTU 等)
- nmcli connection down "有线连接 1":停用该连接(设备仍在线,但此配置不再生效)
- nmcli connection up "有线连接 1":启用该连接(若设备空闲则自动激活)
- nmcli connection delete "旧连接":彻底移除连接定义(配置文件同步删除)
创建和配置新连接
静态 IP 或 DHCP 都可通过一条命令完成定义并立即启用:
-
静态以太网:
nmcli connection add type ethernet con-name my-static ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1 -
DHCP 以太网:
nmcli connection add type ethernet con-name my-dhcp ifname eth0(默认即启用 DHCP) -
修改已有连接:
nmcli connection modify "my-static" ipv4.dns "8.8.8.8,114.114.114.114",再执行nmcli connection reload和nmcli connection up "my-static"生效
无线网络专项操作
nmcli 对 Wi-Fi 支持完整,无需额外工具:
-
扫描可用热点:
nmcli device wifi list(显示 SSID、信号强度、加密方式) -
一键连接公开/密码网络:
nmcli device wifi connect "MyHomeWiFi" password "12345678" -
连接隐藏网络:先添加连接
nmcli connection add type wifi con-name hidden-wifi ifname wlan0 ssid "HiddenNet",再设置密码并启用nmcli connection modify "hidden-wifi" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "pass123",最后nmcli connection up "hidden-wifi"


















