如何从命令行连接到WiFi?


145

其他帖子似乎正在从命令行解决更复杂的网络连接问题。

Unity面板的“网络”指示器/按钮有时反应不太好-即使我单击“断开连接”之类的东西,它仍会尝试连接到网络。

所以我想通过命令行进行控制。我还是不喜欢GUI。

没有一些简单的命令行工具可以执行以下操作吗?

wifi connect MyNetworkNameA
wifi disconnect
wifi connect MyNetworkNameB

4
取决于什么无线安全性?此处详细介绍-help.ubuntu.com/community/NetworkConfigurationCommandLine/…–
Panther,

在Ubuntu 16.04和18.04上,仍然无法连接wifi。重新连接命令将是一个很好的技巧。
AlikElzin-kilaka

Answers:


193

我认为您想继续使用托管接口(通过NetworkManager)。nmcli是用于控制NetworkManager的命令行工具。

  • 要查看已保存的连接列表,请使用(<SavedWiFiConn>

    nmcli c
    
  • 查看可用的WiFi热点列表(<WiFiSSID>

    nmcli d wifi list
    

    要么:

    sudo iwlist wlan0 scanning
    
  • 查看接口列表(<WifiInterface>

    ifconfig -a
    

只要改变<WifiInterface><WiFiSSID><WiFiPassword>在下面的命令以反映您的设置。如果已经保存了WiFi信息,则使用<SavedWiFiConn>保存在NetworkManager中的连接名称的简便方法。

Ubuntu 16.04

##disconnect
nmcli d disconnect <WifiInterface>

##connect
nmcli d connect <WifiInterface>

其他方式:

##disconnect
nmcli c down <SavedWiFiConn>

##connect
nmcli c up <SavedWiFiConn>

Ubuntu 15.10及更早版本

##disconnect
nmcli d disconnect iface <WifiInterface>

##connect
nmcli d wifi connect <WiFiSSID> password <WiFiPassword> iface <WifiInterface>

其他方式:

##disconnect:
nmcli c down id <SavedWiFiConn>

##connect:
nmcli c up id <SavedWiFiConn>

如果您的密码无法自动识别,请输入以下内容:

nmcli -a c up <SavedWiFiConn>

参考: man nmcli


1
奇迹般有效!而且,正如所怀疑的那样,命令行会立即做出响应,而GUI有时会变得迟钝,不合作且无响应。
cmo 2014年

1
当我失去Unity仪表板和任务栏时,保存了我的一天,并且在建立任何类型的网络连接时,“网络设置”对话框不断崩溃。
Janaka Bandara 2014年

1
@kirill_igum,很抱歉迟到安静的忙碌,您可以根据需要使用cron计划wifi扫描iwlist wlan0 scanningnmcli d wifi list然后使用或nmcli 连接到相应的wifi网络。
user.dz

1
我发出的命令给出了错误。我正在发出此命令:nmcli c up id "Apollo III Connect" 它给出了一个错误。当我遗漏单词id并输入此字词时,它会正确连接:nmcli c "Apollo III Connect"。我现在知道如何连接。您说的id是参数,并用id连接的名称替换单词,您将其命名为<WiFiConn>。谢谢!
LD James

5
保存连接设置:sudo nmcli dev wifi con "SSID_NAME" password PASSWORD "CONFIG_NAME"要自动查找已保存的连接设置:nmcli c
Cirelli94 '17

75

nmtui ncurses解决方案

出色的交互式ncurses网络管理器选项:

nmtui

nm-applet(默认的顶部栏图标)和放在同一个程序包中nm-cli,因此可以广泛使用。

屏幕截图:

在此处输入图片说明

在Ubuntu 17.10中测试。


谢谢!由于某种原因,我的Ubuntu拒绝连接到Wifi,所以我插入了以太网电缆,然后单击“有线连接和BAM上的激活”!
ass

@Downvoters请解释,我从不采取报复行动;-)
Ciro Santilli新疆改造中心法轮功六四事件

3
也可以在Ubuntu 16.01上运行,很酷的解决方案!
2013

4
这是比IMO更为直观的​​解决方案。除非您尝试学习Linux / Unix如何连接到WiFi,否则这似乎是理想的选择并按Enter解决方案。在Ubuntu 18上运行良好
jamzsabb

19

如果您的wi-fi接入点已保存,它将自动连接。使用更简单的命令打开或关闭无线:

nmcli nm wifi on
nmcli nm wifi off

在较新版本上:

nmcli radio wifi on
nmcli radio wifi off

供参考,请参阅man nmcli


1
如何使NM在启动过程中自动启用wifi?每次重新启动时,网络管理器都会在禁用wifi的情况下启动。
塞林2015年

@Cerin,您可以尝试加入这个命令来启动应用程序,请参见askubuntu.com/questions/243139/...
user.dz

以及在Ubuntu> 14.04中的操作。
monitor35 '16

3

如果要连接到名为 PrettyFlyForAWiFi-5G

nmcli -a d wifi connect PrettyFlyForAWiFi-5G

-a(或--ask)表示将要求您输入密码。重新启动计算机后,连接将被保存并自动连接。

您可以附加password <your password>到末尾(原义词password和实际密码)

nmcli d wifi connect PrettyFlyForAWiFi-5G password 12345678

但可能需要unset HISTFILE事先运行,以免将WiFi密码保存到~/.bash_history文件中。


要查看您周围的所有WiFi网络(--rescan yes是可选的,如果没有,网络列表的使用时间可能长达30秒)

nmcli d wifi list --rescan yes

这将输出类似

IN-USE  SSID                         MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
        PrettyFlyForAWiFi-5G         Infra  44    405 Mbit/s  59      ▂▄▆_  WPA2
        PrettyFlyForAWiFi            Infra  6     195 Mbit/s  41      ▂▄__  WPA1 WPA2

忘记连接(在您运行后已保存nmcli -a d wifi connect <name>

nmcli c delete PrettyFlyForAWiFi-5G

查看所有已保存连接的列表

nmcli c

您可以使用nmcli connection代替nmcli c <whatever>nmcli device代替nmcli d

nmcliNetworkManager的命令行界面(它是Ubuntu的默认桌面环境GNOME的一部分),已经安装在Ubuntu上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.