如何通过终端命令行连接WiFi?

下面我们来学习通过终端连接WiFi(命令行方式)。 在使用 Linux 时,有时可能会发生我们无法访问图形用户界面的情况,例如在 Vanilla Arch 安装期间。 在这种情况下,我们可能需要通过终端连接到Wifi。

通过终端连接WiFi的步骤

在本模块中,我们将学习如何使用命令行界面连接到 Wifi 网络。

步骤 1:确定您的可用网络设备

首先,我们需要确定我们将用来连接到我们的 wifi 网络的网络设备。 我们可以使用 ip 命令列出我们的接口:

$ ip a 

或者

$ iwconfig 

查看后者的输出,我们应该在它的输出中找到一个类似的部分:

wlan0     IEEE 802.11  ESSID:off/any             Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm              Retry short limit:7   RTS thr:off   Fragment thr:off           Power Management:off 

这里我们的接口被称为 无线局域网0 但对你来说可能会有所不同。 现在我们检查前者的输出,它为我们提供以下输出 无线局域网0

wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000     link/ether 2c:6e:85:fe:04:a7 brd ff:ff:ff:ff:ff:ff 

这里要注意的最重要的一点是 无线局域网0 被标记 我们需要转 向上 使用 ifconfig 命令:

$ sudo ifconfig wlan0 up 

或者,您可以使用以下命令检查 WiFi 无线电状态 nmcli 通过:

$ nmcli radio wifi    enabled 

如果未启用,您可以使用:

$ nmcli radio wifi on 

最后,您可以使用以下命令检查网络接口卡的状态:

$ nmcli dev status DEVICE         TYPE      STATE                   CONNECTION         wlan0          wifi      disconnected   

笔记: 如果您的 wifi 卡在您的笔记本电脑/计算机上被硬阻止,您需要执行以下操作并重复上述步骤。

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

第 2 步:扫描可用的 Wifi 网络

现在我们已经准备好我们的 wifi 卡,我们需要扫描可用的 wifi 网络,我们可以使用:

$ nmcli dev wifi list   

或者,

$ sudo iw wlan0 scan | grep SSID 

这应该列出您周围所有可用 wifi 网络的名称。 考虑到前者,我们应该得到如下输出:

IN-USE  BSSID              SSID              MODE   CHAN  RATE        SIGNAL  BARS  SECURITY           60:63:4C:5D:F6:69  home-network      Infra  1     270 Mbit/s  100     ▂▄▆█  WPA1 WPA2  

因此,如我们所见,我们拥有要连接的 wifi 网络的 SSID。

第 3 步:连接到 Wifi 网络

现在我们有了我们的 SSID,我们可以简单地使用以下命令连接到它:

$ sudo nmcli --ask dev wifi connect <SSID> Password:  Device 'wlan0' successfully activated with 'f747251b-1346-48a2-ae25-1b6fd6243984'. 

在此之后,我们的设备应该连接到 wifi 网络。

您可以通过 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=114 time=50.4 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=46.4 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=114 time=45.2 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=114 time=42.2 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=114 time=44.5 ms 64 bytes from 8.8.8.8: icmp_seq=6 ttl=114 time=48.8 ms  --- 8.8.8.8 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5008ms rtt min/avg/max/mdev = 42.175/46.245/50.375/2.723 ms 

由于我们可以 ping 谷歌的 DNS 服务器,我们可以说我们现在有互联网连接!

结论

因此,我们成功地从 CLI 连接到了 wifi 网络。 在这里,我们明确选择了 nmcli 命令来为我们完成大部分工作,因为它可以在包括实时 Arch Linux ISO 在内的各种系统上使用,并且非常易于使用并且可以轻松进行故障排除!