在命令行中管理 Wifi 连接
创始人
2024-03-01 14:02:16
0

无论何时要安装一款新的 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、wicdnetcfgwifi 等等)来管理无线连接。我坚持使用最基本的方式,但在某些情况下,我使用的工具可能您还没有,所以您在之前就得先下载它们。另一方面,有很多高级的应用程序,他们确实是不包含在“默认包”里面的,使用它们会大大简化操作过程。但一般建议是开始的话最好从基本的来。

关于从命令行来管理连接 WiFi 您还有其他方式方法吗?请在评论中让我们知道。


via: http://xmodulo.com/2014/08/manage-wifi-connection-command-line.html

作者:Adrien Brochard 译者:runningwater 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

关闭CentOS系统XWi...
在CentOS系统中关闭X Window的指南 对于服务器管理员或...
2025-03-11 06:13:09
如何在CentOS中使用f...
在Linux系统中,文件与目录的高效管理是日常运维和开发工作的基础...
2025-03-06 06:21:32
CentOS 下 rpcb...
先来说说,什么是 rpcbind 呢?想象一下,咱们的计算机系统就...
2025-02-25 06:46:46
Ubuntu on WSL...
近期,科技新闻网站 betanews 披露了一项关于 Ubuntu...
2025-02-06 14:19:54
轻松掌握Debian及Ub...
在使用Linux系统,特别是Debian及其衍生版(像Ubuntu...
2025-02-06 06:17:17
不显示该屏幕的情况下点击按...
在不显示屏幕的情况下点击按钮并使用WiFi打印机打印是可能的,可以...
2025-01-10 08:31:25

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...