在命令行中管理 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 等等)來管理無線連接。我堅持使用最基本的方式,但在某些情況下,我使用的工具可能您還沒有,所以您在之前就得先下載它們。另一方面,有很多高級的應用程序,他們確實是不包含在「默認包」裡面的,使用它們會大大簡化操作過程。但一般建議是開始的話最好從基本的來。
關於從命令行來管理連接 WiFi 您還有其他方式方法嗎?請在評論中讓我們知道。
via: http://xmodulo.com/2014/08/manage-wifi-connection-command-line.html
作者:Adrien Brochard 譯者:runningwater 校對:校對者ID
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive