一、概述
nmcli是 Linux 系统中 NetworkManager 提供的命令行工具,用于管理和配置网络连接。它支持多种网络类型(如以太网、Wi-Fi、VPN 等),功能强大且灵活。
二、选项、对象、操作命令、参数详解
以下是对nmcli命令的详细分类说明,涵盖常见选项和参数
2.1 基本语法
nmcli [OPTIONS] OBJECT { COMMAND | help }
- OPTIONS:全局选项,用于控制命令行为。
- OBJECT:操作对象,如
general
、networking
、device
、connection
等。 - COMMAND:针对对象的操作命令,如
show
、up
、down
等。
2.2 全局选项(Options)
-
简洁输出(适合脚本):
nmcli -t # 输出无表头,字段用冒号分隔 nmcli -p # 漂亮输出(易读格式)
-
交互式提示:
nmcli -a # 自动提示缺失参数(如密码)
-
字段过滤:
nmcli -f [字段] # 例如:`nmcli -f name,device con show`
-
帮助和版本:
nmcli --help # 显示帮助 nmcli --version # 显示版本
2.3 连接管理
nmcli connection
add
:添加新的网络连接。例如nmcli connection add type ethernet con-name my-eth ifname eth0
用于添加一个以太网连接。modify
:修改现有连接的配置。如nmcli connection modify my-eth ipv4.addresses 192.168.1.100/24
可修改以太网连接的 IPv4 地址。delete
:删除指定连接。nmcli connection delete my-eth
能删除名为my-eth
的连接。up
:激活指定连接。nmcli connection up my-eth
可激活以太网连接。down
:停用指定连接。nmcli connection down my-eth
能停用以太网连接。show
:显示连接的详细信息。nmcli connection show my-eth
可查看名为my-eth
连接的详细信息。
应用场景:修改ip地址等信息
nmcli connection show #找出网卡对应的连接名
nmcli connection modify "ens160" ipv4.addresses 192.168.220.160/24 ipv4.gateway 192.168.220.2 ipv4.method manual #设置对应网卡的ip、子网、网关等
nmcli connection up "ens160" #启用设置
这条命令执行后,会修改对应 /etc/sysconfig/network-scripts 文件夹中对应网卡(ens160)配置文件中的配置信息。
2.4 设备管理
nmcli device
status
:显示所有网络设备的状态。执行nmcli device status
可看到设备名称、类型、状态等信息。connect
:连接指定设备。例如nmcli device connect eth0
可连接以太网设备。disconnect
:断开指定设备的连接。nmcli device disconnect eth0
能断开以太网设备连接。show
:显示指定设备的详细信息。nmcli device show eth0
可查看以太网设备的详细信息。
应用场景:显示所有网络设备的状态。
[root@localhost network-scripts]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
virbr0 bridge connected virbr0
lo loopback unmanaged --
virbr0-nic tun unmanaged --
2.5 网络设置
nmcli networking
on
:启用网络管理。执行nmcli networking on
可开启网络管理功能。off
:禁用网络管理。nmcli networking off
可关闭网络管理功能。connectivity
:检查网络连通性。nmcli networking connectivity
可查看当前网络是否连通。
应用场景:检查网络连通性
你可以使用 nmcli
命令快速检查当前网络的连通性。
nmcli networking connectivity
执行该命令后,若返回 full
,则表示网络连接正常;若返回 limited
或 none
,则表示网络连接存在问题。
2.6 Wi-Fi 管理
nmcli radio
wifi
:开启或关闭 Wi-Fi。nmcli radio wifi on
开启 Wi-Fi,nmcli radio wifi off
关闭 Wi-Fi。
nmcli device wifi
list
:列出可用的 Wi-Fi 网络。nmcli device wifi list
可显示周围可用的 Wi-Fi 网络。connect
:连接到指定的 Wi-Fi 网络。例如nmcli device wifi connect my-wifi password my-password
可连接到名为my-wifi
的 Wi-Fi 网络。
应用场景:连接到 Wi-Fi 网络
当你要让 Linux 设备连接到特定的 Wi-Fi 网络时,可按以下步骤操作:
# 开启 Wi-Fi 功能
nmcli radio wifi on
# 列出可用的 Wi-Fi 网络
nmcli device wifi list
# 连接到指定的 Wi-Fi 网络
nmcli device wifi connect my-wifi password my-password
2.7 其他
nmcli general
status
:显示 NetworkManager 的总体状态。执行nmcli general status
可查看网络管理器的运行状态、连接状态等信息。hostname
:获取或设置系统主机名。nmcli general hostname new-hostname
可设置新的主机名。
应用场景:显示 NetworkManager 的总体状态。
[root@localhost network-scripts]# nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled disabled enabled enabled