1. 程式人生 > >Linux系統下中 在命令列中實現Wifi 連線的方法

Linux系統下中 在命令列中實現Wifi 連線的方法

Linux系統下中 在命令列中實現Wifi 連線的方法

from:https://www.cnblogs.com/chaobest/articles/6693161.html

無論何時要安裝一款新的 Linux 發行系統,一般的建議都是讓您通過有線連線來接到網際網路的。

這主要的原因有兩條:第一,您的無線網絡卡也許安裝的驅動不正確而不能用;第二,如果您是從命令列中來安裝系統的,管理 WiFi 就非常可怕。我總是試圖避免在命令列中處理 WiFi 。但 Linux 的世界,應具有無所畏懼的精神。如果您不知道怎樣操作,您需要繼續往下來學習之,這就是寫這篇文章的唯一原因。所以我迫使自己學習如何在命令列中管理 WiFi 連線。

通過命令列來設定連線到 WiFi 當然有很多種方法,但在這篇文章裡,同時也是一個建議,我使用最基本的方法:那就是使用在任何釋出版本中都有的包含在“預設包”裡的程式和工具。或者說我偏向於使用這一種方法。使用此方法顯而易見的好處是這個操作過程能在任意有 Linux 系統的機器上覆用。不好的一點是它相對來說比較複雜。

首先,我假設您們都已經正確安裝了無線網絡卡的驅動程式。沒有這前提,後續的一切都如鏡花水月。如果您你機器確實沒有正確安裝上,您應該看看關於您的釋出版本的維基和文件。

然後您就可以用如下命令來檢查是哪一個介面來支援無線連線的:

$ iwconfig

一般來說,無線介面都叫做 wlan0。當然也有例外的,但在這篇教程中我們將會一直用通用叫法。

以防萬一,你得確認下以使此介面服務是啟動著的:

$ sudo ip link set wlan0 up

一但確認了無線介面是工作著的,你就可以用如下命令來掃描附近的無線網路了:

$ sudo iw dev wlan0 scan | less 

根據掃描出的結果,可以得到網路的名字(它的 SSID),它的資訊強度,以及它使用的是哪個安全加密的(如:WEP、WPA/WPA2)。從此時起,將會分成兩條路線:情況很好、很容易的以及情況稍微複雜的。

如果您想連線的網路是沒有加密的,您可以用下面的命令直接連線:

$ sudo iw dev wlan0 connect [網路 SSID]

如果網路是用 WEP 加密的,也非常容易:

$ sudo iw dev wlan0 connect [網路 SSID] key 0:[WEP 金鑰]

但網路使用的是 WPA 或 WPA2 協議的話,事情就不好辦了。這種情況,您就得使用叫做 wpasupplicant 的工具,它預設是沒有的。然後需要修改 /etc/wpasupplicant/wpa_supplicant.conf 檔案,增加如下行:

network={    ssid="[網路 ssid]"    psk="[密碼]"    priority=1}

我建議你​​在檔案的末尾新增它,並確保其他配置都註釋掉。要注意 SSID 和密碼字串都是大小寫敏感的。在技術上您也可以把接入點的名稱當做是 SSID,使用 wpa_supplicant 工具的話會有合適的 SSID 來替代這個名字。

一旦配置檔案修改完成後,在後臺啟動此命令:

$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

最後,無論是連到開放的網路還是加密的安全網路,您都得獲取 IP 地址。簡單地使用如下命令:

$ sudo dhcpcd wlan0

如果一切順利的話,您應該已經通過 DHCP 獲取到了一個全新的本地 IP,這個過程是在後臺自動完成的。如果想確認下是否真正連線上的話,您可以再一次輸入如下命令檢查:

$ iwconfig

最後,我認為多次重複第一步的檢查操作是很有必要的。您永遠不會知道什麼時候您的圖形使用者介面掛了,或者是什麼時候不能訪問無線連線了,所以現在就準備著用命令來檢測吧。還有,前面提到過的,有很多種方式(如 NetworkManager、wicd、netcfg、wifi 等等)來管理無線連線。我堅持使用最基本的方式,但在某些情況下,我使用的工具可能您還沒有,所以您在之前就得先下載它們。另一方面,有很多高階的應用程式,他們確實是不包含在“預設包”裡面的,使用它們會大大簡化操作過程。但一般建議是開始的話最好從基本的來。謝謝閱讀,希望能幫到大家,請繼續關注指令碼之家,我們會努力分享更多優秀的文章。