如何使用 Nmcli 命令从 Linux 终端连接 Wi-Fi

有多种命令行工具可用于管理 Linux 系统中的无线网络接口。其中许多可用于简单地查看无线网络接口状态(无论是向上或者向下,或者如果它连接到任何网络),例如伊沃,列表,,和其他人。

有些用于连接到无线网络,其中包括:,是一个命令行工具,用于创建、显示、编辑、删除、启用和禁用网络连接,以及控制和显示网络设备状态。

首先使用以下命令检查网络设备的名称。从该命令的输出中,设备名称/接口是wlp1s0如图所示。

$ iw dev

phy#0
	Interface wlp1s0
		ifindex 3
		wdev 0x1
		addr 38:b1:db:7c:78:c7
		type managed

接下来,使用以下命令检查 Wi-Fi 设备连接状态。

iw wlp2s0 link

Not connected.

从上面的输出来看,设备未连接到任何网络,运行以下命令扫描可用的 Wi-Fi 网络。

sudo iw wlp2s0 scan
       
command failed: Network is down (-100)

考虑到上述命令的输出,网络设备/接口是向下,你可以转动它 (向上)与如图所示。

$ sudo ip link set wlp1s0 up

如果您收到以下错误,则意味着您的 Wifi 在笔记本电脑或计算机上被硬阻止。

RTNETLINK answers: Operation not possible due to RF-kill

要删除或取消阻止,您需要运行以下命令来解决错误。

$ echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
$ sudo rfkill unblock all

然后尝试转动再次连接网络设备,这次应该可以工作。

$ sudo ip link set wlp1s0 up

如果您知道ESSID您要连接的 Wi-Fi 网络的名称,请转到下一步,否则请发出以下命令以再次扫描可用的 Wi-Fi 网络。

$ sudo iw wlp1s0 scan

最后,使用以下命令连接到 Wi-Fi 网络,其中黑客网(Wi-Fi 网络 SSID)和本地主机22(密码/预共享密钥)。

$ nmcli dev wifi connect Hackernet password localhost22

连接后,通过对外部计算机执行 ping 操作来验证连接并分析 ping 的输出,如图所示。

$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms

就是这样!我希望这篇文章可以帮助您设置您的无线上网从 Linux 命令行连接网络。与往常一样,如果您发现本文有用,请在下面的评论部分分享您的想法。

嘿 TechMint 读者,

令人兴奋的消息!每个月,我们的顶级博客评论者都有机会赢得丰厚奖励,例如免费的 Linux 电子书,例如红细胞认证工程师,红十字会协会,LFCS,学习Linux, 和awk, 每个值20 美元

学习!

Aaron Kili 是一名 Linux 和 FOSS 爱好者、即将成为一名 Linux 系统管理员、Web 开发人员,目前是 TecMint 的内容创建者,他热爱计算机工作并坚信分享知识。


每个教程位于泰克明特由经验丰富的 Linux 系统管理员团队创建使其符合我们的高品质标准。