網站搜尋

在 Linux 中從命令行連接和斷開 WiFi


即使透過圖形介面完成任務相當容易,你也應該知道如何在 Linux 中大部分任務都透過命令列執行。因為有可能你需要操作沒有 GUI 的 Linux 伺服器。此外,一些特定的任務在圖形模式下可能會不配合或無法響應。在這份簡短的指南中,我們將學習一個 基本的 Linux 網路 概念,也就是如何在 Linux 作業系統中 透過命令列連接和斷開 WiFi。

在 Linux 中,從命令列啟用和停用無線網路有多種方式。在這裡,我們將討論兩個命令列工具,分別是 nmcli 和 nmtui。這兩個工具在許多現代 Linux 發行版中都已預先安裝。

1. 使用 Nmcli 在 Linux 的命令列連接和斷開 WiFi

Nmcli 是一個用於控制 NetworkManager 並報告 Linux 網路狀態的命令列介面。使用 nmcli,我們可以建立、顯示、編輯、刪除、啟用以及停用網路連線,還可以控制和顯示網路裝置狀態。所有操作皆可在命令列完成!無需使用其他 GUI 客戶端來配置 Linux 的有線或無線網路連線。Nmcli 在所有基於 GNOME 的 Linux 桌面系統中皆預先安裝。

首先,讓我們使用指令查看您 Linux 系統中已保存的網路連線清單以及無線裝置名稱:

$ nmcli connection

或者,簡短地使用這個:

$ nmcli c

上述命令將列出您 Linux 機器中所有已保存的網路連接(有線和無線):

 NAME                   UUID                                  TYPE       DEVICE          
 JioFi4_12E9FE          a583ac06-30da-4e8b-b9e0-674ec33bece8  wifi       wlp9s0          
 mpqemubr0              44554d0e-a243-41ad-a298-a02737d6e8aa  bridge     mpqemubr0       
 virbr0                 5bd9c4cd-d546-4a62-8c51-051d392d062c  bridge     virbr0          
 tap-d8f1eebb39f        eae33bb5-6430-4ab8-9ebd-d2a05ec0b02d  tun        tap-d8f1eebb39f 
 HP 7 VoiceTab Network  73ef7815-0fb0-4272-8bfd-8ecf85c75225  bluetooth  --              
 sktab                  1732d713-ad4e-4ec5-8dad-49f0cd8f1cb2  wifi       --              
 Wired connection 1     410f30c5-b1ca-3e7c-9083-2b59c73be34a  ethernet   --              

使用 nmcli 命令列出可用的網路連線

如您在上述輸出中所見,我的無線網路連接名稱是 "JioFi4_12E9FE",無線網路介面名稱是 "wlp9s0"。

如果你想列出你周圍的所有無線網路(即接入點、熱點),請執行此命令:

$ nmcli device wifi list 

或者,簡短地使用此命令:

$ nmcli d wifi list 

範例輸出:

* 40:C8:CB:12:E9:FE  JioFi4_12E9FE          Infra  6     65 Mbit/s   69      ▂▄▆_  WPA2  
[...]

使用 nmcli 命令在 Linux 中列出無線網路連接

目前使用的 WiFi 網路會用 星號 (*) 符號標示。

你可以選擇傳遞 --rescan yes 參數來告訴 nmcli 重新掃描你附近的所有可用 WiFi 網路:

$ nmcli device wifi list --rescan yes

在找到 WiFi 連接列表後,您可以使用以下命令連接到特定的 WiFi 網絡,例如 JioFi4_12E9FE:

$ nmcli c up JioFi4_12E9FE

範例輸出:

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/20)

要斷開 WiFi 網路,請執行:

$ nmcli c down JioFi4_12E9FE

範例輸出:

Connection 'JioFi4_12E9FE' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/20)

在 Linux 中使用 Nmcli 從命令列連接和斷開 WiFi

如果你想被提示輸入 WiFi 密碼,請使用 -a (--ask) 參數:

$ nmcli -a c up JioFi4_12E9FE

一旦 WiFi 連接成功,該連接會被保存,並且每次重啟時會自動重新連接。

你不必每次都使用 -a。已連接的網路將會被儲存,並在之後自動重新連接。

使用 nmcli 命令連接無線網路的另一種方法是:

$ nmcli -a d wifi connect JioFi4_12E9FE

在這裡,-a 標誌會要求你輸入 WiFi 密碼。

當你輸入正確的密碼後,你將會看到成功連接的訊息:

Device 'wlp9s0' successfully activated with 'a583ac06-30da-4e8b-b9e0-674ec33bece8'.

要斷開 WiFi 網路,只需停用網卡:

$ nmcli d disconnect wlp9s0

將 "wlp9s0" 替換為你的無線網卡名稱。

要再次啟用無線網卡,請執行:

$ nmcli d connect wlp9s0

使用 Nmcli 從命令列啟用和停用無線連接

在上述範例中,我們已經啟用和停用了一個特定的無線網路連接和介面。如果您想在您的 Linux 系統中啟用或停用整個 WiFi 訪問,只需像下面這樣開啟或關閉您的無線電即可:

$ nmcli radio wifi on
$ nmcli radio wifi off

一旦你開啟了 WiFi 無線電,已儲存的連接將自動連線。

要讓你的 NetworkManager 忘記(即從已保存清單中移除)該連線,請執行:

$ nmcli c delete JioFi4_12E9FE

您下次需要輸入正確的密碼才能連接到此網路。

欲了解更多細節,請參考 nmcli 手冊頁。

$ man nmcli

2. 在 Linux 中使用 Nmtui 從命令列連接和斷開 WiFi

Nmtui 是一個基於 curses 的文字使用者介面(TUI),用於控制和與 NetworkManager 互動。

要在 Linux 系統中從命令列連接或斷開 WiFi 網路,使用以下命令啟動 nmtui 工具:

$ nmtui

選擇「啟用連線」選項並按下 ENTER 鍵。

Nmtui 文字使用者介面

在下一個視窗中,選擇您想要啟用或停用的WiFi連線。如果所選的WiFi連線已經連線,您將看到「停用」選項。如果它已斷線,您將看到「啟用」選項。選擇啟用/停用選項,然後按ENTER以連接或斷開所選的無線網路。

使用 Nmtui 從命令列連接和斷開 WiFi

欲瞭解更多詳情,請參考 man 頁面:

$ man nmtui

希望這對你有幫助。

相關閱讀:

  • 在 Linux 中查找已連接網路的 WiFi 密碼
  • 如何在 Linux 中從命令列監控 WiFi 連線
  • 如何在 Arch Linux 的終端機中更新 Wifi 網路密碼

精選圖片由 ivke32 提供,來自 Pixabay。