在某些情况下,比如图形界面出问题、远程操作服务器或使用轻量系统时,用命令行连接WiFi成了最直接的办法。虽然看起来有点“极客”,但其实只要记住几个简单命令,谁都能搞定。
Windows 系统下用命令行连接WiFi
Windows 提供了 netsh 命令来管理网络设置。想用命令行连WiFi,先得知道周围有哪些可用网络。
打开命令提示符(以管理员身份运行),输入:
netsh wlan show networks
这会列出附近所有可连接的无线网络。找到你想连的那个SSID(也就是WiFi名称)。
如果这个WiFi之前保存过配置,可以直接调用:
netsh wlan connect name="你的WiFi名称"
要是没保存过,就得先创建一个配置文件。新建一个XML文件或者直接在命令行里添加:
netsh wlan add profile filename="C:\\WiFiprofile.xml"
不过更简单的办法是手动输入凭证:
netsh wlan set hostednetwork mode=allow ssid="你的网络名" key="密码"
netsh wlan start hostednetwork
注意:这里的“hostednetwork”其实是开启热点,不是连接。正确连接方式还是推荐使用 connect 命令配合已保存的配置文件。
Linux 系统下连接WiFi
大多数 Linux 发行版使用 nmcli(NetworkManager命令行工具),操作直观又高效。
先扫描一下周围的WiFi信号:
nmcli dev wifi
你会看到类似这样的结果:
IN-USE SSID MODE CHAN RATE SIGNAL SECURITY
MyHomeWiFi Infra 6 54 Mbit/s 78 WPA2
接下来,用下面这条命令连接带密码的WiFi:
nmcli dev wifi connect "MyHomeWiFi" password "your_password_here"
如果提示设备未就绪,可能是网卡没启用,可以先执行:
nmcli radio wifi on
有些精简版Linux可能没装NetworkManager,这时候可以用 wpa_supplicant + dhclient 组合,但配置稍复杂,适合进阶用户。
macOS 命令行连接WiFi
macOS 的终端也能轻松连WiFi,用的是 networksetup 或 airport 命令。
先查看当前可用网络:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
然后连接指定WiFi:
networksetup -setairportnetwork en0 "你的WiFi名称" "密码"
其中 en0 是无线网卡接口名,通常都是它,不确定的话可以用 networksetup -listallhardwareports 查看。
断开连接也很简单:
networksetup -setairportpower en0 off
再开回来:
networksetup -setairportpower en0 on
这些命令对脚本自动化特别有用,比如写个定时切换网络的小脚本,早上自动连公司WiFi,下班切回家里的。
命令行连WiFi并不神秘,关键是在不同系统上掌握对应的工具。平时多试两次,真遇到桌面卡死或者远程维护的时候,这几行命令能救大急。