nmcli 是NetworkManager的工具,用于管理网卡配置文件
好处: 命令行更易于管理,nmcli命令敲错了不会生效,而手工修改配置文件则会
nmcli 命令使用(nmcli可以补全,但是需要下载安装 bash-completion

$  nmcli device status            # 查看网卡信息
DEVICE  TYPE      STATE      CONNECTION  
eth0    ethernet  connected  System eth0 
lo      loopback  unmanaged  --   

总共4列:
第一列表示网卡名称

第二列是网卡的类型

第三列是当前网卡的状态(指的是NetworkManager服务是否接管了这块网卡)
1)unmanaged      就表示该块网卡并没有被NetworkManager服务接管
2)disconnected   意味着该块网卡,并没有使用任何配置文件
3)connected      意味着该块网卡,正在使用某个配置文件
4)connecting     意味着该网卡正在获取ip地址

第四列表示当前网卡使用的配置文件
--    表示该网卡当前没有配置文件

nmcli 管理 device  常用命令

$ nmcli device status			# 查看网卡信息
$ nmcli device delete lo        # nmcli 只能删除虚拟网卡,不能删除eth0物理网卡
$ nmcli device disconnect eth0  # 切断网卡与当前配置的联系
$ nmcli device connect the0 	# 连接一个网卡配置文件
$ nmcli device show	the0		# 展示网卡配置文件

nmcli 管理网卡文件常用命令

常用参数:
1. ip地址
2. ip掩码
3. ip gateway
4. ip dns
5. ip method (选择手工配置地址还是dhcp自动获取地址)
6. ip autoconnect (开机是否自动连接配置文件)

1.添加网卡配置文件

nmcli 创建网卡配置文件会同时在/etc/sysconfig/network-scripts/ 目录下生成一个网卡配置文件

1)必须要添加的参数: con-name(配置文件名) type(类型,默认为ethernet) ifname(网卡名称)
$  nmcli connection add con-name eth0  type ethernet ifname the0

2)添加网卡配置文件并指定地址、网卡、dns 
$  nmcli connection add con-name eth0-1 type ethernet ifname eth0 ipv4.addresses 1.1.1.1/24 ipv4.gateway 1.1.1.200 ipv4.dns 114.114.114.114

3)如果想要网卡手工获取ip需要添加参数;ipv4.method manual
$ nmcli connection add con-name eth0-1 type ethernet ifname eth0 ipv4.addresses 2.2.2.2/24 ipv4.gateway 2.2.2.200 ipv4.dns 8.8.8.8 ipv4.method manual

2.删除一个网卡配置文件

$ nmcli connection delete con-name

3.激活 / 重新加载一个网卡配置文件

# 如果手工修改了配置文件,需要重新将修改的配置文件加载到内存中,再激活,才可以生效
$ nmcli connection reload        # 重新加载配置文件
$ nmcli connection up con-name   # 激活网卡配置文件(应用)

4.修改网卡配置文件
modify 后面跟的参数与add后面跟的参数相似度达90%

1)修改IP地址
$ nmcli connection modify con-name ipv4.addresses 172.18.161.53/20
$ nmcli connection up con-name

2)网卡配置文件在下次开机时是否自动加载,也就是网卡配置文件中的 ONBOOT 选项
$ nmcli connection modify ens256-3    connection.autoconnect yes

3)修改网卡配置文件名 eth0-1 -> eth0-2
$ nmcli connection modify eth0-1 connection.id eth0-2

4)迁移一个配置文件到另外一个网卡
$ nmcli connection modify ens256 connection.interface-name ens224

5.关闭一个网卡配置文件

$  nmcli connection down con-name

6.查看一个网卡配置文件

$ nmcli connection show 
NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
eth0-con1    18295743-ed7d-4e8d-abab-5b65b1a13270  ethernet  --  

$ nmcli connection show  System eth0