nmcli
2024年11月1日大约 3 分钟
nmcli 工具
nmcli是一个命令行工具,用于管理和控制NetworkManager。NetworkManager是 Linux 系统中的一个服务,用于简化网络连接的配置和管理,而 nmcli 则提供了操作它的便捷命令。
安装
安装
NetworkManager包时,会自动安装 nmcli,因此在大多数发行版中安装或更新NetworkManager包即可获得nmcli工具。
如果你的系统中没有 nmcli,通常可以通过安装 NetworkManager 来解决。例如:
Debian/Ubuntu
sudo apt update
sudo apt install network-managerCentOS/RHEL
sudo yum update
sudo yum install NetworkManagerArch Linux
sudo pacman -Ks
sudo pacman -S networkmanager使用 nmcli 可以执行如下操作:
配置和管理网络接口 创建、修改和删除网络连接 显示网络状态和设备信息 控制无线电开关 显示或隐藏敏感信息(如密码) 基本用法
nmcli的基本格式如下:
nmcli [OPTIONS] OBJECT { COMMAND | help }- OPTIONS:提供全局选项,调整输出格式、显示风格或控制操作的其他参数。
- OBJECT:指定要操作的对象(如连接、设备、网络等)。
- COMMAND:具体的操作命令(如显示、添加、删除、修改等)。
常用对象和命令
1.general(通用状态)
用于查看和管理
NetworkManager的一般状态。
nmcli general status # 查看 NetworkManager 的整体状态2.networking(网络控制)
用于控制网络的整体开关。
nmcli networking on # 启用网络
nmcli networking off # 禁用网络3.radio(无线电开关)
管理无线网络和蓝牙的开关。
nmcli radio wifi off # 关闭 Wi-Fi
nmcli radio wifi on # 打开 Wi-Fi4.connection(网络连接)
用于管理网络连接(创建、修改、删除)。
nmcli connection show # 显示所有连接
nmcli connection add type wifi ssid <SSID> # 添加新的 Wi-Fi 连接
nmcli connection modify <name> ipv4.addresses <IP>/24 # 修改连接设置
nmcli connection up <name> # 激活连接
nmcli connection down <name> # 禁用连接5.device(设备)
显示和管理系统中所有的网络设备。
nmcli device status # 显示设备状态
nmcli device disconnect <设备名> # 断开设备连接
nmcli device wifi list # 列出 Wi-Fi 网络6.agent(代理)
配置 NetworkManager 的密钥或策略代理。
nmcli agent secret # 启用或禁用密钥代理7.monitor(监视)
实时监视网络状态的变化。
nmcli monitor # 监视 NetworkManager 的状态变化例子
设置静态 IP
- 将
enp0s3接口配置为静态 IP(假设连接名称为MyConnection):
nmcli connection modify MyConnection ipv4.addresses "192.168.1.100/24" ipv4.gateway "192.168.1.1" ipv4.dns "8.8.8.8" ipv4.method manual
nmcli connection up MyConnection # 启动连接1.连接到 Wi-Fi 网络
nmcli device wifi connect <SSID> password <Wi-Fi 密码>2.查看设备和连接状态
nmcli device status # 列出设备状态
nmcli connection show # 列出连接状态3.nmcli 全局选项
-t:简化输出,便于脚本使用。-p:美观输出。-f <field,...>:指定输出的字段。-h:显示帮助信息。 例如:
nmcli -t -f name,type connection show此命令会简洁地输出每个连接的名称和类型。