PUB:20140815 How to manage a WiFi connection from the command line

@runningwater
This commit is contained in:
wxy 2014-10-15 21:35:06 +08:00
parent 11432eadcc
commit d0a38eb03b

View File

@ -1,12 +1,12 @@
在命令行中管理 Wifi 连接
================================================================================
无论何时要安装一款新的 Linux 发行系统,一般的建议都是让您通过有线连接来接到互联网的。这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用;第二,如果您是从命令行中来安装系统的,管理 WiFi 就非常可怕。我总是试图避免在命令行中处理 WiFi 。但 Linux 的世界,应具有无所畏惧的精神。如果您不知道怎样操作,您需要继续往下来学习之,这就是写这篇文章的唯一原因。所以我迫自己学习如何在命令行中管理 WiFi 连接。
无论何时要安装一款新的 Linux 发行系统,一般的建议都是让您通过有线连接来接到互联网的。这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用;第二,如果您是从命令行中来安装系统的,管理 WiFi 就非常可怕。我总是试图避免在命令行中处理 WiFi 。但 Linux 的世界,应具有无所畏惧的精神。如果您不知道怎样操作,您需要继续往下来学习之,这就是写这篇文章的唯一原因。所以我迫使自己学习如何在命令行中管理 WiFi 连接。
通过命令行来设置连接到 WiFi 当然有很多种方法,但在这篇文章里,也是一个建议,我将会作用最基本的方法:那就是使用在任何发布版本中都有的包含在“默认包”里的程序和工具。或者我偏向于使用这一种方法。使用此方法显而易见的好处是这个操作过程能在任意有 Linux 系统的机器上复用。不好的一点是它相对来说比较复杂。
通过命令行来设置连接到 WiFi 当然有很多种方法,但在这篇文章里,同时也是一个建议,我使用最基本的方法:那就是使用在任何发布版本中都有的包含在“默认包”里的程序和工具。或者我偏向于使用这一种方法。使用此方法显而易见的好处是这个操作过程能在任意有 Linux 系统的机器上复用。不好的一点是它相对来说比较复杂。
首先,我假设您们都已经正确安装了无线网卡的驱动程序。没有这前提,后续的一切都如镜花水月。如果您你机器确实没有正确安装上,您应该看看关于您的发布版本的维基和文档。
然后您就可以用如下命令来检查是哪一个接口来支持无线连接的
然后您就可以用如下命令来检查是哪一个接口来支持无线连接的
$ iwconfig
@ -24,21 +24,21 @@
![](https://farm4.staticflickr.com/3847/14909117931_e2f3d0feb0_z.jpg)
根据扫描出的结果,可以得到网络的名字(它的 SSID它的信息强度以及它使用的是哪个安全加密的WEP、WPA/WPA2。从此时起将会分成两条路线情况很好的和容易的以及情况稍微复杂的。
根据扫描出的结果,可以得到网络的名字(它的 SSID它的信息强度以及它使用的是哪个安全加密的WEP、WPA/WPA2。从此时起将会分成两条路线情况很好、很容易的以及情况稍微复杂的。
如果您想连接的网络是没有加密的,您可以用下面的命令直接连接:
$ sudo iw dev wlan0 connect [network SSID]
$ sudo iw dev wlan0 connect [网络 SSID]
如果网络是用 WEP 加密的,也非常容易:
$ sudo iw dev wlan0 connect [network SSID] key 0:[WEP key]
$ sudo iw dev wlan0 connect [网络 SSID] key 0:[WEP 密钥]
但网络使用的是 WPA 或 WPA2 协议的话,事情就不好办了。这种情况,您就得使用叫做 wpa_supplicant 的工具,它默认是没有启用的。需要修改 /etc/wpa_supplicant/wpa_supplicant.conf 文件,增加如下行:
但网络使用的是 WPA 或 WPA2 协议的话,事情就不好办了。这种情况,您就得使用叫做 wpa_supplicant 的工具,它默认是没有的。然后需要修改 /etc/wpa_supplicant/wpa_supplicant.conf 文件,增加如下行:
network={
ssid="[network ssid]"
psk="[the passphrase]"
ssid="[网络 ssid]"
psk="[密码]"
priority=1
}