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

时间:2022-05-14
本文章向大家介绍如何使用Nmcli命令从Linux终端连接Wi-Fi,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在Linux系统中有几种用于管理无线网络接口的命令行工具。其中的一些可用于简单查看无线网络接口状态(无论是启动还是关闭,或者是否连接到任何网络),如iwiwlist,ip,ifconfig等。

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

首先使用以下命令检查网络设备的名称。从该命令的输出中,设备名称/接口是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)

考虑到上述命令的输出,网络设备/接口处于关闭(DOWN)状态,您可以使用ip命令将其打开 (UP),如图所示。

$ 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

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

$ sudo iw wlp1s0 scan

最后,使用以下命令连接到Wi-Fi网络,其中Hackernet(Wi-Fi网络SSID)和localhost22(密码/预共享密钥)。

$ 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命令行设置Wi-Fi网络。