封尘网

让学习成为一种习惯!

安装插件让nmcli命令支持tab补全

Red Hat Enterprise Linux 7 与 CentOS 7 中默认的网络服务由 NetworkManager 提供,这是动态控制及配置网络的守护进程,功能更强大;nmcli工具 来控制 NetworkManager,利用它让我们配置网络更灵活;这里不介绍nmcli工具的使用,只记录一下最小化安装的Centos7 系统nmcli命令按tab键时不会自动补全的问题;

解决方法:安装一个bash插件包;

[root@bogon ~]# yum install bash-completion -y

安装完后,重启一下系统,按tab键时就可以看到效果了;

附简单的nmcli使用方法:

Redhat7系统默认会启动一个网络管理工具;

systemctl status NetworkManager

一个物理设备【ens33】是可以同时配置多个IP地址,拥有多个配置,同时一个配置中也可以拥有多个IP;但不能同时使用多个配置;
所以IP地址不是绑定在物理设备eth0上的,而是在配置文件中

nmcli 工具的简单使用:

添加一个配置:

nmcli connection add con-name "new-eth0" autoconnect no tyep ethernnet ifname ens33

命令执行后直接在/etc/sysconfig/network-scripts/目录下创建一个名为:ifcfg-new-eth0的配置文件,但是上面是没添加IP的
默认为DHCP获取;

修改配置:【配置静态IP】

nmcli connection modify "new-eth0" ipv4.addresses "172.25.0.25/24" ipv4.dns "172.25.0.1"

激活配置:

nmcli connection up "new-eth0"

停止配置:[会立刻断掉网络连接]

nmcli connection down "new-eth0"

使配置开机启动:

nmcli connection modify "new-eth0" connection.autoconnect yes

删除配置:

nmcli connection delete "new-eth0"

查看配置列表:

nmcli connection show

查看指定配置的详细信息:

nmcli connection show "new-eth0"

其实这个小工具可以实现在bash命令下的自动补全功能。这样就省了很多很长的命令,只要安装完成后退出一下终端再登陆时使用tab键即可。