如何从命令行连接 WiFi?

如何从命令行连接 WiFi?

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

Unity 面板网络指示器/按钮有时响应不太好 - 即使我单击“断开连接”,它仍会继续尝试连接到网络,诸如此类。

所以我想使用命令行进行控制。无论如何,我不喜欢 GUI。

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

wifi connect MyNetworkNameA
wifi disconnect
wifi connect MyNetworkNameB

答案1

我认为您想继续使用托管界面(由 NetworkManager 管理)。nmcli是一个用于控制 NetworkManager 的命令行工具。

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

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

    nmcli d wifi list
    

    或者:

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

    ifconfig -a
    

只需在以下命令中更改<WifiInterface><WiFiSSID>、即可反映您的设置。如果已保存 WiFi 信息,更简单的方法是使用NetworkManager 中保存的连接名称。<WiFiPassword><SavedWiFiConn>

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

答案2

nmtuincurses 解决方案

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

nmtui

如果由于某种原因未安装,Debian 软件包为:

sudo apt install network-manager

nm-applet与(默认顶部栏图标) 和位于同一个包中nm-cli,因此被广泛使用。

截屏:

在此处输入图片描述

在 Ubuntu 17.10 中测试。

答案3

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

nmcli nm wifi on
nmcli nm wifi off

在较新的版本中:

nmcli radio wifi on
nmcli radio wifi off

如需参考,请参阅man nmcli

答案4

如果你想连接到名为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

nmcli是命令行界面网络管理器(属于GNOME(Ubuntu 的默认桌面环境)并且已经安装在 Ubuntu 上。

不要忘记设置您的国家代码以使用完美的规定:

sudo iw reg set <2 letter country code>

sudo nano /etc/default/crda 

相关内容