【Linux】通过命令行,查看当前可用网络 WIFI + 设置已配置网络的连接优先级 + 连接网络
列出所有可连接网络
nmcli device wifi list
这个命令会列出所有可连接 wifi,*表示当前连接。
IN-USE BSSID SSID MODE CHAN RATE SIG>XX:XX:XX:XX:XX:XX wifi1 Infra 1 130 Mbit/s 97 >XX:XX:XX:XX:XX:XX wifi2 Infra 8 270 Mbit/s 97 >* XX:XX:XX:XX:XX:XX wifi3 Infra 1 540 Mbit/s 92 >XX:XX:XX:XX:XX:XX wifi4 Infra 8 270 Mbit/s 92 >XX:XX:XX:XX:XX:XX wifi5 Infra 48 270 Mbit/s 89 >XX:XX:XX:XX:XX:XX wifi6 Infra 1 260 Mbit/s 85 >
我们更加关注当前已经配置的网络,以下命令会列出所有已配置的网络连接,即系统中已保存的网络连接记录,有它们的名称、类型、优先级、连接。(包括 Wi-Fi 和以太网):
nmcli -f NAME,TYPE,AUTOCONNECT-PRIORITY connection show
获得了如下信息
NAME TYPE AUTOCONNECT-PRIORITY
Wired connection 1 ethernet -999
docker0 bridge 0
myWIFI1 wifi 0
myWIFI2 wifi 0
可以发现以太网的优先级是 -999,另外两个无线网络的优先级都是 0。在 Ubuntu 和许多 Linux 系统中,nmcli
默认将有线连接的 autoconnect-priority
设置为 -999
,是为了确保 Wi-Fi 网络在有线网络可用的情况下也可以优先连接。这种配置可以在 Wi-Fi 网络更受欢迎或更需要的时候,例如在某些便携设备上常见的需求。
我们可以调整网络连接策略。nmcli
中的 autoconnect-priority
设置可以使用任意整数值来定义优先级,没有严格的上限或下限。一般情况下:
- 较高的正数 表示较高优先级。例如,
10
高于5
,系统会优先连接优先级数值更高的网络。 - 0 或负数 通常表示较低优先级,
-999
等极低的值可以用来避免自动连接特定网络。
nmcli connection modify "myWIFI2" connection.autoconnect-priority 10
确认网络优先级设置成功
nmcli -f NAME,TYPE,AUTOCONNECT-PRIORITY connection show
经过测试
- 如果无线网络功能处于关闭状态,同时有多个可连接的已配置 WIFi,打开网线网络功能,会连接到优先级高的 WIFI。
- 如果无线网络处于开启状态,并且手动指定了一个 WIFI 进行连接,则不会自动重新连接到优先级高的 WIFI。此时,如果重启网线网络功能,则会连接到优先级高的 WIFI。
其他关于网络的命令
网卡的状态
nmcli device status
开启/关闭 Wifi
nmcli radio wifi on
nmcli radio wifi off
连接指定 Wifi 并输入密码
nmcli device wifi connect MyHomeWiFi password 12345678