Linux命令之nmcli命令的使用及说明

 更新时间:2026年04月07日 15:59:09   作者:恒悦sunsite  
文章介绍了NetworkManager的命令行工具nmcli,它用于管理和配置网络连接,支持多种网络类型,并提供了丰富的命令用于查看、配置、启用和禁用网络连接,文中还列举了使用示例和语法说明,帮助读者更好地掌握nmcli的使用方法

一、命令简介

nmcli是NetworkManager的命令行工具,用于管理和配置网络连接。它可以用于查看当前网络连接的状态、配置新的网络连接、启用和禁用网络连接等操作。

nmcli支持大多数常见的网络连接类型,如以太网、Wi-Fi、VPN等。通过nmcli命令,用户可以方便地在命令行界面下管理网络连接,而无需依赖图形界面工具。

二、使用示例

1、查看命令版本

[root@rocky8 ~]# nmcli --version
nmcli 工具,版本 1.40.16-9.el8

2、查看网络连接

connection show可以查看已连接的网卡信息,不会显示loopback等虚拟接口信息。

[root@rocky8 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens18 a4d518ee-817a-4067-acd3-51ebfe8e449d ethernet ens18

3、获取命令帮助

nmcli命令非常友好,命令及子命令状态下都可以加上help获取命令的帮助信息。

4、查看网卡设备状态

[root@rocky8 ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens18 ethernet 已连接 ens18
virbr0 bridge 未托管 –
lo loopback 未托管 –

5、删除网卡设备

[root@rocky8 ~]# nmcli device delete virbr0
成功移除设备 “virbr0”。
[root@rocky8 ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens18 ethernet 已连接 ens18
lo loopback 未托管 –

6、查看网卡详细信息

[root@rocky8 ~]# nmcli device show ens18
GENERAL.DEVICE: ens18
GENERAL.TYPE: ethernet
GENERAL.HWADDR: E2:3D:AD:B8:4F:C5
GENERAL.MTU: 1500
GENERAL.STATE: 100(已连接)
GENERAL.CONNECTION: ens18
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.CARRIER: 开
IP4.ADDRESS[1]: 192.168.0.148/24
IP4.GATEWAY: 192.168.0.1
IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 100
IP4.DNS[1]: 211.142.211.124
IP6.ADDRESS[1]: fe80::e03d:adff:feb8:4fc5/64
IP6.GATEWAY: –
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024

7、修改网卡配置

使用modify可以修改网卡配置,nmcli device modify help可以看到参考示例,可以修改IP地址、DNS、MAC地址等属性,可以建议使用+,-符号添加或者删除指定配置。

[root@rocky8 ~]# nmcli device modify ens18 +ipv4.dns 114.114.114.114

8、断开网卡连接

断开网卡连接命令在远程情况下慎用,该命令及时生效,执行之后网络连接就断开了。

[root@rocky8 ~]# nmcli device disconnect ens18

9、连接网卡

刚完成系统安装的时候网卡配置IP地址,且网络连接是断开的。配置好IP地址后我们可以使用该命令连接网卡。

[root@rocky8 ~]# nmcli device disconnect ens18

10、重连网卡

[root@rocky8 ~]# nmcli connection reload

11、开启无线网卡

博主虚拟机实验环境下没有无线网卡,所以无法进一步验证无线网卡的配置内容,关于无线网卡的设置内容有很多,使用nmcli device wifi命令可以扫描WiFi、连接、查看WiFi密码等。总之通过nmcli命令可以实现我们图形化下的所有操作。

[root@rocky8 ~]# nmcli radio wifi on

12、关闭无线网卡

[root@rocky8 ~]# nmcli radio wifi off

13、修改主机名

[root@rocky8 ~]# nmcli general hostname rocky8

14、监控网卡状态

[root@rocky8 ~]# nmcli monitor

15、断开网络连接

远程执行断开网络连接网络直接就断了,是看不到下面提示日志的,只有本地执行才会看到“成功停用连接***”信息日志,所以此命令远程连接服务器时慎用。

[root@rocky8 ~]# nmcli connection down ens18
成功停用连接 “ens18”(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)

16、激活网络连接

[root@rocky8 ~]# nmcli connection up ens18
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)

17、克隆网络连接

[root@rocky8 ~]# nmcli connection clone ens18 test
ens18 (a4d518ee-817a-4067-acd3-51ebfe8e449d) 已克隆为 test (77fab6c5-7599-4f56-9e26-bf46a6c02d0b)。

18、删除网络连接

[root@rocky8 ~]# nmcli connection delete test
成功删除连接 “test” (77fab6c5-7599-4f56-9e26-bf46a6c02d0b)。

三、使用语法及参数说明

1、使用语法

用法:nmcli [选项] 对象 { 命令 | help }

2、参数说明

参数参数说明
-a, --ask询问缺少的参数
-c, --colors auto|yes|no是否在输出中使用颜色
-e, --escape |yes|no转义值中的列分隔符
-f, --fields <字段,…>|all|common指定要输出的字段
-g, --get-values <字段,…>|all|common-m tabular -t -f 的快捷方式
-h, --help打印此帮助
-m, --mode tabular|multiline输出模式
-o, --overview概览模式
-p, --pretty美化输出
-s, --show-secrets允许显示密码
-t, --terse简介输出
-v, --version显示程序版本
-w, --wait <秒数>设定操作完成的等待超时

3、对象说明

对象对象说明
g[eneral]NetworkManager 的常规状态和操作
n[etworking]整体网络控制
r[adio]NetworkManager 无线电开关
c[onnection]NetworkManager 的连接
d[evice]NetworkManager 管理的设备
a[gent]NetworkManager 机密(secret)或 polkit 代理
m[onitor]监视 NetworkManager 更改

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Apache安装后出现服务无法启动(服务里启动出现错误代码1)

    Apache安装后出现服务无法启动(服务里启动出现错误代码1)

    很多朋友都遇到过这样的问题Apache安装后,显示安装成功,但是出现服务无法启动服务里启动出现错误代码1,怎么解决这个问题呢,下面小编通过本文给大家详细介绍下,需要的朋友参考下吧
    2021-08-08
  • 一文详解Linux系统下文件操作相关的系统调用

    一文详解Linux系统下文件操作相关的系统调用

    在Linux系统中,文件操作是程序开发中不可或缺的一部分,Linux提供了丰富的系统调用来实现文件的读写、打开、关闭以及控制等功能,本文将详细阐述Linux系统中文件操作相关的系统调用,需要的朋友可以参考下
    2025-11-11
  • Yum中报错:“pycurl.so: undefined symbol: CRYPTO_num_locks”的问题排查

    Yum中报错:“pycurl.so: undefined symbol: CRYPTO_num_locks”的问题排查

    这篇文章主要给大家介绍了在Yum中报错: "pycurl.so: undefined symbol: CRYPTO_num_locks"的问题排查的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • Linux 添加永久静态路由的方法

    Linux 添加永久静态路由的方法

    本篇文章主要介绍了Linux 添加永久静态路由的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Linux系统的修复模式(单用户模式)

    Linux系统的修复模式(单用户模式)

    大家好,本篇文章主要讲的是Linux系统的修复模式(单用户模式),感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux服务器时间设置实现方式

    Linux服务器时间设置实现方式

    本文主要介绍了在CentOS系统中查看和设置服务器时间的方法,包括查看当前时间、手动设置时间、启用NTP同步时间以及使用NTP服务器同步时间等步骤
    2026-03-03
  • Linux dig命令的用法解读

    Linux dig命令的用法解读

    dig是用于查询DNS信息的命令行工具,比nslookup更灵活,支持A、MX等记录类型查询,常用选项如+short、+trace可精简输出或追踪解析路径,适用于调试和域名解析分析,需安装dnsutils或bind-utils获取
    2025-07-07
  • Linux通过Crontab实现自启动的全流程

    Linux通过Crontab实现自启动的全流程

    Linux crontab是用来crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令,本文主要记录通过crontab实现当服务器宕机或服务意外停止时进行自动重启,需要的朋友可以参考下
    2025-09-09
  • 修改.htaccess实现子目录绑定示例分享

    修改.htaccess实现子目录绑定示例分享

    这篇文章主要介绍了修改.htaccess实现子目录绑定示例,需要的朋友可以参考下
    2014-03-03
  • Linux下如何查看版本信息的方法步骤

    Linux下如何查看版本信息的方法步骤

    这篇文章主要介绍了Linux下如何查看版本信息的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论