nmcli 是 NetworkManager 的命令行工具。

nm 代表 NetworkManager,cli 代表 Command-Line 命令行。

NetworkManager

使用 nmcli 时,NetworkManager 必须保持开启。

NetworkManager 的相关命令:

  1. 查看运行状态:systemctl status NetworkManager
  2. 启动:systemctl start NetworkManager
  3. 重启:systemctl restart NetworkManager
  4. 关闭:systemctl stop NetworkManager
  5. 查看是否开机启动:systemctl is-enabled NetworkManager
  6. 开机启动:systemctl enable NetworkManager
  7. 禁止开机启动:systemctl disable NetworkManager

注意:NetworkManager 中开头的 N 和中间的 M 必须大写。

下面仅介绍常用的命令,其它命令可以查看帮助文档。

01 nmcli networking

显示 NetworkManager 是否接管网络设置:

nmcli networking

networking 可以简写为 n、ne、net、netw…… 所以以上命令可以简写为:

nmcli n

查看网络连接状态:

nmcli n connectivity

网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。

connectivity 可以简写为 c,所以以上命令可简写为:

nmcli n c

设定 NetworkManager 接管网络设置:

nmcli n on

取消 NetworkManager 接管网络设置:

nmcli n off

02 nmcli general

显示系统网络状态:

nmcli general status

general 可以简写为 g、ge、gen、gene……

status 是 general 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli g

命令返回结果如下:

[root@Hank ~]# nmcli g
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
connected  full          enabled  enabled  enabled  enabled

其中:

STATE 显示网络是否连接;

CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;

WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;

WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。

HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。

显示主机名:

nmcli g hostname # 或
nmcli g h

更改主机名:

nmcli g hostname newHostName # 或
nmcli g h newHostName

newHostName是你设置的新主机名。

主机名存放在 /etc/hostname 文件中。

修改主机名后,需要重启 NetworkManager。

03 nmcli connection

显示所有网络连接的信息:

nmcli connection show

connection 可以简写为 c、co、con、conn……

show 是 connection 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli c

nmcli connection show 有一个 -active 参数,可以只显示当前启动的连接:

nmcli c s --active  # 或
nmcli c s -a        # 因为 show 后面有参数项,所以此时的 show 不能省

显示某一特定连接的详细信息(以 ens33 为例):

nmcli c s ens33

启动指定连接:

nmcli c up ens33

如果 ens33 本来就出于连接状态,那此命令会重启 ens33。

关闭指定连接:

nmcli c down ens33

关闭连接后,使用 nmcli c 命令, DEVICE 项将显示为 – 。

修改连接:

nmcli c modify ens33  [ + | - ]选项 选项值  # 或
nmcli c m ens33  [ + | - ]选项 选项值

下面给出常用修改示例:

nmcli c m ens33 ipv4.address 192.168.80.10/24  # 修改 IP 地址和子网掩码
nmcli c m ens33 ipv4.method manual             # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2      # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2          # 修改 DNS
nmcli c m ens33 +ipv4.dns 114.114.114.114      # 添加一个 DNS
nmcli c m ens33 ipv6.method disabled           # 将 IPv6 禁用
nmcli c m ens33 connection.autoconnect yes     # 开机启动

注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!

用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):

nmcli c m ens33 ipv4.method ""

选项有很多,详细信息可以通过以下命令查看:

man 5 nm-settings-nmcli

主要可以看里面 connection setting 和 ipv4 setting 部分。

新增连接:

nmcli c add tyep 连接类型 选项 选项值  # 或
nmcli c a tyep 连接类型 选项 选项值

type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。

选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:

connection.id(别名 con-name):连接名;

connection.interface-name(别名 ifname):设备名;

connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。

下面给出一个示例:

nmcli c a type ethernet con-name ens36 ifname ens36

删除指定连接:

nmcli c delete ens33  # 或
nmcli c de ens33      # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de

重载所有连接的配置文件:

nmcli c reload  # 或
nmcli c r

重载某一指定连接的配置文件:

nmcli c load ifcfg-ens33  # 或
nmcli c l ifcfg-ens33

网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。

网络配置文件的命名方式就是ifcfg-连接名,例如 ens33 的配置文件名为ifcfg-ens33

网络配置文件说明:

TYPE=Ethernet           # 以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none          # 静态配置,等同于 ipv4.method manual
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens33              # 连接名
UUID=16862343-b55e-4248-b05d-a3ea662a84a4
DEVICE=ens33            # 设备名
ONBOOT=yes              # 开机自启
IPADDR=192.168.80.10    # IP 地址
PREFIX=24               # 子网掩码
GATEWAY=192.168.80.2    # 网关
DNS1=192.168.80.2       # DNS1
DNS2=114.114.114.114    # DNS2

建议使用 nmcli 命令来设置网络参数,不要直接修改此文件。

04 nmcli device

显示所有网络接口设备的状态:

nmcli device status

device 可以简写为 d、de、dev……

status 是 device 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli d

显示所有设备的详细信息:

nmcli d show  # 或
nmcli d sh         # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh

显示某一特定设备的详细信息:

nmcli d sh ens33

连接设备:

nmcli d connect ens33  # 或
nmcli d c ens33

如果 ens33 本来就出于连接状态,那此命令会重启 ens33。

断开设备:

nmcli d disconnect ens33  # 或
nmcli d d ens33

更新设备信息:

nmcli d reapply ens33  # 或
nmcli d r ens33

只有在设备处于连接状态,才可以更新设备。

更新设备相当于重启连接。

Linux中nmcli命令详解相关推荐

  1. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  2. linux中create命令详解,linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show eve ...

  3. linux中mkdir命令含义,Linux中mkdir命令详解

    Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...

  4. linux中dd命令详解,Linux中DD命令详解

    Linux中DD命令详解 1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的 ...

  5. linux pmap命令,linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x,--extended show details -X show even ...

  6. linux 修改用户dir,linux中dir命令详解

    在linux系统下dir命令的功能和ls命令差不多,主要是用以查看目录.文件权限等详细信息.下面由学习啦小编整理了linux中dir命令的详细解释,希望对你有帮助. linux中dir命令的详细解释 ...

  7. linux中Iscpi命令详解(四)

    lscpi命令详解 lspci是一个用来查看系统中所有PCI总线以及连接到该总线上的设备的工具. 命令格式为 lspci -参数 (不加参数显示所有硬件设备) 我的电脑lspci显示结果为: 00:0 ...

  8. Linux中curl命令详解(做定时任务超级有用)!

    Linux curl命令详解 命令:curl 在kingle中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...

  9. linux中jstack命令详解,Linux jstack命令详解

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息. 如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack ...

最新文章

  1. 中国ATM龙头转型 全要素布局人工智能
  2. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】HAWQ数据仓库 使用之 gpfdist协议
  3. [css] 如何阻止:hover、:active等鼠标行为状态的触发?
  4. 多进程模块multiprocessing
  5. 从各位前辈手中搜集的经验
  6. pythontry参数_Python try except异常处理详解(入门必读)
  7. Pheatmap做热图数据处理过程
  8. 关于android中PendingIntent.getBroadcase的注册广播
  9. 毕设题目:Matlab优化分类
  10. pat A1052:Linked List Sorting静态链表+链表排序
  11. 这40个Python可视化图表案例,强烈建议收藏!
  12. win10打开蓝牙_WIN10蓝牙不能使用,开启蓝牙后不能识别到其它设备怎么办?
  13. android实现手机号验证码注册
  14. html编辑器添加水印,怎么为UE编辑器上传的图片添加水印
  15. 用Python做股市数据分析(二)
  16. Raptor 经典例题 2 (冒泡法排序 100名同学拉成一圈)
  17. mysql 提交事务_MySQL事务提交过程
  18. Vue中监测数据变化
  19. 第四章 舞会上的国王
  20. 深入场景,产融智合驱动金融业务智慧升级

热门文章

  1. wsl2安装ubuntu20.04
  2. 用计算机确定照片的黑白灰,快乐学修图(4) 黑白灰,照片中调色密码
  3. 梦想Android版CAD控件2021.03.11更新,手机版CAD控件,安卓CAD控件
  4. Log4j2远程命令执行(CVE-2021-44228)复现
  5. 电子秒表实现00分00.00秒到59分59.99秒的计时(vivado,verilog语言)(上)
  6. 2 申请GAE的AppId与Google SVN代码托管
  7. 操作抖音书单号需要注意哪些点?书单号运营要避免的坑
  8. js动画效果之缓冲动画
  9. 物联网精英训练营工作日志
  10. 9月英语月刊--thinking