linux中的nmcli命令的功能
linux中的nmcli命令的功能详细介绍
在 Linux 系统中,nmcli(NetworkManager Command Line Interface)是一个功能强大的命令行工具,用于管理网络连接和网络设备。它基于 NetworkManager 服务,支持动态配置网络、查看状态、管理有线 / 无线连接等,适用于服务器和桌面环境。以下是其核心功能及常用操作:
一、核心功能概述
- 网络状态查看
- 实时监控网络设备(如以太网、Wi-Fi、蓝牙)的状态、IP 地址、连接状态等。
- 查看网络连接配置(如 DHCP、静态 IP、DNS 等)。
- 连接管理
- 创建、修改、删除网络连接配置(Profile)。
- 激活(连接)、停用(断开)网络连接。
- 切换默认连接(如在有线和无线之间切换)。
- 设备控制
- 启用 / 禁用网络设备(如 Wi-Fi、以太网接口)。
- 查看设备详细信息(MAC 地址、驱动信息等)。
- 无线网络管理
- 扫描可用 Wi-Fi 网络,显示信号强度、加密方式等。
- 连接到加密(WPA/WPA2/WPA3)或开放的 Wi-Fi 网络,支持手动输入密码。
- 管理 Wi-Fi 热点(需 NetworkManager 支持)。
- 脚本化与自动化
- 适用于 Shell 脚本,支持非交互模式,便于批量配置或自动化管理。
- 支持获取 JSON 格式输出,方便程序解析。
二、常用子命令与示例
1.
查看网络状态
- 显示所有网络设备状态
bashnmcli device status - 显示指定设备详细信息
bashnmcli device show 设备名
2.
管理网络连接(Connections)
- 列出所有连接配置
bashnmcli connection show - 创建新连接(以静态 IP 为例)
bashnmcli connection ethernet con-name eth-static ifname enp0s3 ip4 .1.100/24 gw4 .1.1 - 激活 / 停用连接
bashnmcli connection up 连接名nmcli connection down 连接名
- 修改连接配置(如 DNS)
bashnmcli connection modify 连接名 ipv4.dns
3.
无线网络操作
- 扫描 Wi-Fi 网络
bashnmcli dev wifi list - 连接到 Wi-Fi(需密码)
bashnmcli dev wifi connect SSID password 密码 - 禁用 / 启用 Wi-Fi
bashnmcli radio wifi offnmcli radio wifi on
4.
高级操作
- 交互模式
bashnmcli - 获取 JSON 格式输出(用于脚本解析)
bashnmcli name,type,state connection show
三、核心优势
- 跨平台支持:适用于大多数 Linux 发行版(如 Ubuntu、Fedora、CentOS 等),依赖 NetworkManager 服务。
- 命令行友好:无需图形界面,适合服务器远程管理。
- 动态配置:支持热插拔设备和动态网络切换(如从有线切换到无线)。
- 兼容性:可管理传统以太网、Wi-Fi、VLAN、PPPoe、VPN(如 OpenVPN、WireGuard)等连接类型。
四、注意事项
- 确保 NetworkManager 服务已启动(
systemctl status NetworkManager,若未启动需systemctl start NetworkManager)。 - 部分旧系统或最小化安装可能未默认安装 nmcli,需手动安装(如 Debian/Ubuntu 用
apt install network-manager,CentOS 用yum install NetworkManager)。
通过nmcli,用户可高效管理网络配置,尤其在无图形界面的环境中,是网络管理员和开发者的重要工具。