如何在Linux終端使用Nmcli命令連線Wi-Fi?
如果您是Linux使用者,並希望從終端連線到Wi-Fi網路。雖然看起來可能很嚇人,但實際上使用Nmcli命令是一個簡單的過程。在本文中,我將以簡單易懂的方式向您介紹使用Nmcli命令從Linux終端連線Wi-Fi的步驟。讓我們開始吧!
首先,如果我們想檢查網路裝置的名稱,我們可以簡單地執行以下命令:
$ iw dev
執行該命令後,您將獲得類似這樣的輸出:
phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr 12:34:56:78:9a:bc
ssid MyWiFiNetwork
type managed
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 20.00 dBm
在本例中,名稱為wlan0。請注意您的實際輸出。
接下來,我們將檢查網路裝置的狀態,即它是否已連線到Wi-Fi。為此,請執行以下命令:
iw wlan0 link
您將看到類似這樣的裝置狀態:
Not connected.
在我們進一步瞭解之前,需要注意的是,並非所有Linux發行版都預裝了Nmcli命令。如果您的系統上沒有安裝它,您可以使用您的包管理器安裝它。例如,在基於Ubuntu或Debian的系統上,您可以透過在終端執行以下命令來安裝Nmcli:
sudo apt-get install network-manager
當您執行上述安裝nmcli的命令時,您將獲得類似這樣的終端輸出:
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libnma0 libteamdctl0 network-manager-config-connectivity-ubuntu network-manager-gnome Suggested packages: policykit-1-gnome The following NEW packages will be installed: libnma0 libteamdctl0 network-manager network-manager-config-connectivity-ubuntu network-manager-gnome 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 2,793 kB of archives. After this operation, 11.1 MB of additional disk space will be used. Do you want to continue? [Y/n]
安裝Nmcli後,您可以使用它連線到Wi-Fi網路。請仔細按照以下說明操作!!
步驟1:掃描Wi-Fi網路
在連線到Wi-Fi網路之前,您需要知道其名稱(SSID)。您可以使用Nmcli命令掃描可用的Wi-Fi網路,方法是在終端執行以下命令:
nmcli device wifi list
執行此命令後,您將獲得類似這樣的輸出:
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
MyWiFiNetwork Infra 6 54 Mbit/s 80 ▂▄▆_ WPA2
OtherWiFiNetwork Infra 11 54 Mbit/s 70 ▂▄__ WPA1 WPA2
PublicWiFi Infra 1 54 Mbit/s 50 ▂▄__ --
此輸出列出了您的計算機可以檢測到的所有Wi-Fi網路,以及它們的SSID(網路名稱)、模式(基礎設施或Ad-Hoc)、通道、速率、訊號強度、訊號條數和安全型別。在這個例子中,您的計算機當前連線到名為“MyWiFiNetwork”、具有WPA2安全性的網路,同時還檢測到另外兩個網路,“OtherWiFiNetwork”(具有WPA1/WPA2安全性)和“PublicWiFi”(沒有安全性)。
或者
如果您不想使用nmcli命令掃描Wi-Fi網路,您也可以使用sudo來完成同樣的事情。為此,命令將是:
sudo iw wlan0 scan
執行此命令後,您將獲得此輸出:
BSS 00:11:22:33:44:55 (on wlan0) freq: 2462 beacon interval: 100 TUs capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431) signal: -56.00 dBm last seen: 204 ms ago SSID: example_network DS Parameter set: channel 11 RSN: * Version: 1 * Group cipher: CCMP * Pairwise ciphers: CCMP * Authentication suites: PSK * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c) HT capabilities: Capabilities: 0x11ac HT20/HT40 SM Power Save disabled RX Greenfield RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes No DSSS/CCK HT40 HT operation: Primary channel: 11 Secondary channel offset: no secondary HT40: disabled SSID Length: 14 SSID: example_network BSS 66:77:88:99:aa:bb (on wlan0) freq: 2412 beacon interval: 100 TUs capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431) signal: -72.00 dBm last seen: 456 ms ago SSID: another_network DS Parameter set: channel 1 HT capabilities: Capabilities: 0x11ac HT20/HT40 SM Power Save disabled RX Greenfield RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes No DSSS/CCK HT40 HT operation: Primary channel: 1 Secondary channel offset: no secondary HT40: disabled SSID Length: 15 SSID: another_network
需要注意的是,此處顯示的輸出只是一個示例,您在自己的系統上看到的輸出可能因您的特定Wi-Fi硬體和系統配置而異。
步驟2:連線到Wi-Fi網路
獲得要連線到的Wi-Fi網路的SSID後,您可以使用Nmcli命令連線到它。在終端執行以下命令:
nmcli device wifi connect <SSID>
執行此命令後,您將獲得以下輸出
$ nmcli device wifi connect MyWiFiNetwork Device 'wlan0' successfully activated with 'd0:53:49:67:8a:16'.
在本例中,我們正在連線到SSID為“MyWiFiNetwork”的Wi-Fi網路。為此,nmcli命令正在使用wlan0裝置連線到網路。成功連線到網路後,命令會提供反饋,確認裝置已啟用,以及其唯一的MAC地址,在本例中為d0:53:49:67:8a:16。請記住,您看到的實際輸出可能會根據您的特定系統和網路設定而有所不同。
步驟3:管理Wi-Fi連線
使用Nmcli連線到Wi-Fi網路後,您可以使用以下命令管理連線:
要斷開當前Wi-Fi網路的連線,請執行以下命令:
nmcli device disconnect
輸出如下:
如果您之前連線到網路,則輸出將類似於以下內容:
Device 'wlan0' successfully disconnected.
如果您之前未連線到網路,則輸出將類似於以下內容:
Error: No active connection or device found.
此輸出表示沒有活動的網路連線需要斷開連線,或者
要檢視您已連線到的所有Wi-Fi網路的列表,請執行以下命令:
nmcli connection show
輸出如下:
NAME UUID TYPE DEVICE Wired connection 1 12345678-9abc-def0-1234-56789abcdef0 ethernet enp0s25 Wi-Fi network 1 12345678-9abc-def0-1234-56789abcdef1 wifi wlp3s0 Wi-Fi network 2 12345678-9abc-def0-1234-56789abcdef2 wifi wlp3s0
此命令列出系統上所有儲存的網路連線,以及它們的名稱、UUID、型別和裝置。在這個例子中,有兩個Wi-Fi網路連線和一個有線連線。
要刪除儲存的Wi-Fi連線,請執行以下命令:
nmcli connection delete <connection-name>
以下是此命令的終端輸出示例:
$ nmcli connection delete MyWifiConnection Connection 'MyWifiConnection' (94e863e8-41dc-4e63-bb02-27cf8c1fcbe0) successfully deleted.
在這個例子中,我們正在刪除名為MyWifiConnection的Wi-Fi連線,終端輸出確認連線已成功刪除。輸出還包含已刪除連線的連線ID (94e863e8-41dc-4e63-bb02-27cf8c1fcbe0)。
將<connection-name>替換為您要刪除的Wi-Fi連線的名稱。
結論
總之,使用Nmcli命令從Linux終端連線到Wi-Fi網路是一種有效且快捷的聯網方式。透過遵循本文中概述的說明,您可以輕鬆掃描可用的Wi-Fi網路,選擇所需的網路,並熟練地管理您的Wi-Fi連線。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP