nmcli:nmcli 是 NetworkManager 提供的一个命令行工具,用于管理网络连接和设备。它支持显示、创建、修改、激活和删除网络连接。
一、语法
nmcli [选项] [对象] [命令] [参数]
- 选项:设置命令的行为,例如输出格式。
- 对象:指定操作的目标,例如:
- 命令:具体操作,例如显示、修改或删除。
- 参数:对象和命令的附加信息。
二、选项
- -a, –ask:提示缺失的参数。
- -c, –colors auto|yes|no:是否在输出中使用颜色:auto 表明自动,yes 表明使用,no 表明不使用。
- -e, –escape yes|no:是否在值中转义列分隔符:yes 表明转义,no 表明不转义。
- -f, –fields <field,…>|all|common:指定要输出的字段,可以是特定字段列表、all(所有字段)或 common(常见字段)。
- -g, –get-values <field,…>|all|common:-m tabular -t -f 的快捷方式,用于快速获取字段值。
- -h, –help:显示协助信息。
- -m, –mode tabular|multiline:设置输出模式:tabular 表格格式或 multiline 多行格式。
- -o, –overview:以概览模式输出。
- -p, –pretty:美化输出,使其更易于阅读。
- -s, –show-secrets:允许显示密码等敏感信息。
- -t, –terse:简洁模式输出。
- -v, –version:
显示程序版本信息。 - -w, –wait <seconds>:设置等待操作完成的超时时间(秒)。
三、对象
- agent:用于管理密码代理服务,即在需要用户输入密码时由代理处理。
- connection:用于管理网络连接。这是 nmcli 最常用的子选项之一,支持显示、创建、修改、激活或删除网络连接。
- device:用于管理网络设备,例如查看设备状态或将设备连接到网络。
- general:用于显示 NetworkManager 的总体信息和管理其状态。
- help:用于显示 nmcli 的协助信息。
- monitor:实时监控 NetworkManager 的状态变化。
- networking:用于管理整个网络栈的状态。
- radio:用于管理无线电开关(Wi-Fi 和蓝牙等)。
四、示例
- 显示网络状态
nmcli g status #g是general的简介
- 列出设备
nmcli device #也可以使用nmcli d
- 列出连接
nmcli connection show #简写nmcli con show
- 激活连接
nmcli connection up <连接名>
#激活指定的连接。nmcli connection up "Wired connection 1"
- 断开连接
nmcli connection down <连接名>
- 修改连接
nmcli connection modify <连接名> <属性> <值>
-----------修改现有连接的配置。例如,设置静态 IP:---------------
nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.100/24
nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.1.1
nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8,8.8.4.4"
nmcli connection modify "Wired connection 1" ipv4.method manual
- 添加新连接
nmcli connection add type <类型> con-name <连接名> ifname <接口名> <参数>
--------添加一个有线连接:------------------
nmcli connection add type ethernet con-name "My Ethernet" ifname eth0 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,8.8.4.4" ipv4.method manual
- 列出WiFi网络
nmcli device wifi list
- 修改完成后,需要重新激活连接以使更改生效:
nmcli connection up "Wired connection 1"
- nmcli 提供脚本友善模式,可以使用 -t 和 –fields 简化输出。例如:
nmcli -t --fields NAME connection show #输出只包含连接名,用于脚本处理。
五、总结
nmcli功能强劲,nmcli 所做的修改会自动保存到
/etc/NetworkManager/system-connections/ 的配置文件中,因此是永久生效的。无需额外保存操作。

#Linux命令#
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END






















暂无评论内容