在命令行中管理 Wifi 连接

无论何时要安装一款新的 Linux 发行系统,一般的建议都是让您通过有线连接来接到互联网的。这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用;第二,如果您是从命令行中来安装系统的,管理 WiFi 就非常可怕。我总是试图避免在命令行中处理 WiFi 。但 Linux 的世界,应具有无所畏惧的精神。如果您不知道怎样操作,您需要继续往下来学习之,这就是写这篇文章的唯一原因。所以我迫使自己学习如何在命令行中管理 WiFi 连接。

通过命令行来设置连接到 WiFi 当然有很多种方法,但在这篇文章里,同时也是一个建议,我使用最基本的方法:那就是使用在任何发布版本中都有的包含在“默认包”里的程序和工具。或者说我偏向于使用这一种方法。使用此方法显而易见的好处是这个操作过程能在任意有 Linux 系统的机器上复用。不好的一点是它相对来说比较复杂。

首先,我假设您们都已经正确安装了无线网卡的驱动程序。没有这前提,后续的一切都如镜花水月。如果您你机器确实没有正确安装上,您应该看看关于您的发布版本的维基和文档。

然后您就可以用如下命令来检查是哪一个接口来支持无线连接的:

  1. $ iwconfig

一般来说,无线接口都叫做 wlan0。当然也有例外的,但在这篇教程中我们将会一直用通用叫法。

以防万一,你得确认下以使此接口服务是启动着的:

  1. $ sudo ip link set wlan0 up

一但确认了无线接口是工作着的,你就可以用如下命令来扫描附近的无线网络了:

  1. $ sudo iw dev wlan0 scan | less

根据扫描出的结果,可以得到网络的名字(它的 SSID),它的信息强度,以及它使用的是哪个安全加密的(如:WEP、WPA/WPA2)。从此时起,将会分成两条路线:情况很好、很容易的以及情况稍微复杂的。

如果您想连接的网络是没有加密的,您可以用下面的命令直接连接:

  1. $ sudo iw dev wlan0 connect [网络 SSID]

如果网络是用 WEP 加密的,也非常容易:

  1. $ sudo iw dev wlan0 connect [网络 SSID] key 0:[WEP 密钥]

但网络使用的是 WPA 或 WPA2 协议的话,事情就不好办了。这种情况,您就得使用叫做 wpasupplicant 的工具,它默认是没有的。然后需要修改 /etc/wpasupplicant/wpa_supplicant.conf 文件,增加如下行:

  1. network={
  2. ssid="[网络 ssid]"
  3. psk="[密码]"
  4. priority=1
  5. }

我建议你​​在文件的末尾添加它,并确保其他配置都注释掉。要注意 SSID 和密码字串都是大小写敏感的。在技术上您也可以把接入点的名称当做是 SSID,使用 wpa_supplicant 工具的话会有合适的 SSID 来替代这个名字。

一旦配置文件修改完成后,在后台启动此命令:

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

最后,无论是连到开放的网络还是加密的安全网络,您都得获取 IP 地址。简单地使用如下命令:

  1. $ sudo dhcpcd wlan0

如果一切顺利的话,您应该已经通过 DHCP 获取到了一个全新的本地 IP,这个过程是在后台自动完成的。如果想确认下是否真正连接上的话,您可以再一次输入如下命令检查:

  1. $ iwconfig

最后,我认为多次重复第一步的检查操作是很有必要的。您永远不会知道什么时候您的图形用户界面挂了,或者是什么时候不能访问无线连接了,所以现在就准备着用命令来检测吧。还有,前面提到过的,有很多种方式(如 NetworkManager、wicd、netcfg、wifi 等等)来管理无线连接。我坚持使用最基本的方式,但在某些情况下,我使用的工具可能您还没有,所以您在之前就得先下载它们。另一方面,有很多高级的应用程序,他们确实是不包含在“默认包”里面的,使用它们会大大简化操作过程。但一般建议是开始的话最好从基本的来。

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

原文发布时间:2014-10-15

本文来自云栖合作伙伴“linux中国”

在命令行中管理 Wifi 连接相关推荐

  1. linux命令行模式连接网络,在Linux环境命令行中实现Wifi 连接的方法

    无论何时要安装一款新的 Linux 发行系统,一般的建议都是让您通过有线连接来接到互联网的. 这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用:第二,如果您是从命令行中来安装系统的, ...

  2. 在命令行中使用ssh连接远程服务器

    2019独角兽企业重金招聘Python工程师标准>>> 1. 连接远程服务器 ssh 用户名@服务器ip地址 -p 端口号 例如: ssh syc@192.168.1.123 -p ...

  3. kvm--virsh命令行下管理虚拟机

    virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式: (1)基础操作 --- 命令行下管理虚拟机 virsh list ...

  4. 在Linux系统的命令行中为MySQL创建用户的方法

    这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQ ...

  5. Oracle在命令行中输入clear,Oracle SQLPlus 常用命令及解释

    Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句.可以从本地文件系统或Web服务器中调用脚本.可以为脚本中的变量传递值.在iSQL*Plus中只能从Web服 ...

  6. java windows wifi密码_windows10 通过命令行来查看wifi密码

    c:\Windows\System32>netsh netsh>wlan show profile 接口 WLAN 上的配置文件: 组策略配置文件(只读) ---------------- ...

  7. linux跑到命令行是到了哪里,在Linux命令行中使用tcpdump「超详细」

    原标题:在Linux命令行中使用tcpdump「超详细」 灵活,强大的命令行工具有助于减轻网络问题排查的痛苦. 根据我作为系统管理员的经验,我经常发现网络连接问题难以排除故障. 对于那些情况,tcpd ...

  8. 在Linux命令行中使用tcpdump的简介

    以系统管理员的经验,我经常发现网络连接问题很难解决. 对于那些情况,tcpdump是一个很好的盟友. tcpdump是一个功能强大且用途广泛的工具,其中包括许多选项和过滤器,可以在多种情况下使用. 由 ...

  9. 怎样复制粘贴windows命令行中的内容

    windows是图形化界面和鼠标点击操作的操作系统,但类DOS的命令行(简称CMD)依然存在,它还可以方便快捷的来维护管理电脑,有时候还是必须运行环境.但在命令行下想复制/粘贴某些东西就没有我们常用的 ...

最新文章

  1. html动画效果开源代码,8款强大的CSS3/HTML5动画及应用源码
  2. python实现选择排序
  3. 【牛客 - 21302】被3整除的子序列(线性dp)
  4. 稀疏矩阵转置 java代码_三元组稀疏矩阵的快速转置
  5. 改变checkbox样式问题
  6. 概率算法(算法分析与设计)
  7. 极通EWEBS远程接入v4.2 XP专版
  8. [深度学习] 深度可分离卷积
  9. 百度统计之百度代码引用
  10. 01 HA haproxy 功能简介以及应用
  11. xp系统打印机服务器报错,互联网要点:Win7系统连接XP共享打印机报错0X000004如何解决...
  12. 分享 百度网盘,不用开会员也可以免费同步上传视频和照片的方法
  13. 延禧攻略插曲6首歌词+简谱
  14. 织梦后台登录后页面一片空白怎么办?
  15. 【毕业设计】基于单片机的心率检测系统 - stm32 物联网 嵌入式
  16. 2022-2028全球与中国移动网页浏览器市场现状及未来发展趋势
  17. 【云原生 • Docker】Docker常用命令总结(值得收藏)
  18. ISO 26262 标准小解
  19. oracle数据库rdo,10_Oracle_Admin_手动创建一个比较实用的数据库
  20. 200 万年薪请不到!清华姚班到底有多牛?| 原力计划

热门文章

  1. C++五子棋(四)——走棋原理及权值计算
  2. android camera 检测,检测Android Camera文件夹
  3. python 珠玑妙算
  4. 解析远程服务器响应错误,远程服务器返回一个意外的响应:(400)错误的请求,WCF...
  5. php服务器队列执行,lnmp php添加队列服务器的配置
  6. 广度优先搜索_广度优先搜索(BFS)
  7. r语言把两个折线图图像放到一个图里_图像相似度度量
  8. python3 bytes和str转换,解决图片base64调用api的问题
  9. 判断一个变量类型是数组还是对象
  10. java 套娃_【leetcode编程题目354】俄罗斯套娃