在Linux系列下,我们连接WiFi的时候,可以使用nmcli作为管理工具,进行WiFi连接断开等操作,操作也相对方便。

安装

安装方式可以使用 apt 或者 yum 包管理器安装。

扫描无线网络

使用外观模式

~$ nmcli  --pretty device wifi list  [ifname wlan0]

========================================================================
                        Wi-Fi 扫描列表 (wlp3s0)
========================================================================
*  SSID        模式  频段  速率       信号  BARS  安全性    
------------------------------------------------------------------------
*  JZ_TECH     红外  1     54 Mbit/s  81    ▂▄▆█  WPA1 WPA2 
   JZ_TECH_5G  红外  149   54 Mbit/s  69    ▂▄▆_  WPA1 WPA2 
   jzplus      红外  5     54 Mbit/s  59    ▂▄▆_  WPA1 WPA2 
   IPLUS2.4G   红外  13    54 Mbit/s  54    ▂▄__  WPA2      
   jzplus_5G   红外  36    54 Mbit/s  49    ▂▄__  WPA1 WPA2 
   IPLUS5G     红外  161   54 Mbit/s  44    ▂▄__  WPA2  

连接WiFi热点

~$ [sudo] nmcli -w 10 device wifi connect 'SSID'  password 'PASSWORD'
设备 “wlan0” 已成功由“c425769f-d48f-40a1-8d2a-9137532fea64”激活

说明:

sudo 部分系统需要管理员权限才能执行该命令,但是可以通过setcap命令附加特殊权限无需sudo ‘SSID’ 为需要连接的无线网络热点名称 ‘PASSWORD’ 无线网络密码

断开WiFi热点

~$ [sudo] nmcli device disconnect

切换 WIFI 热点

➜ nmcli connection show
NAME            UUID                                  TYPE  DEVICE
Caesar          05fd480b-d5ed-4598-afed-000db85ec45f  wifi  wlan0
OpenWrt_5G      c1fcda7b-525e-4598-8aa4-000db85ec45f  wifi  --
Pandora         a7e3123f-a920-44bb-b9e5-ec590cff8aa1  wifi  --
kekxv           432243f0-ad55-49ec-8adb-455991876a47  wifi  --

➜ nmcli con up uuid 05fd480b-d5ed-4598-afed-000db85ec45f # 切换为指定WiFi

参考资料

Linux环境下使用nmcli管理无线网络