在Linux命令行环境下管理无线网络连接是一项常见需求,尤其对于服务器管理员或偏好键盘操作的用户而言,通过命令行工具,可以高效地扫描可用网络、连接指定WiFi、管理网络配置以及排查连接问题,本文将详细介绍Linux命令行下WiFi操作的核心方法,涵盖工具选择、具体命令及实用技巧。

Linux系统管理WiFi的工具选择依赖于发行版和桌面环境,常见的命令行工具有iw、iwconfig、wpa_supplicant、nmcli(NetworkManager的命令行工具)以及wpa_cli等。iw和iwconfig是用于无线设备配置的基础工具,而wpa_supplicant负责处理WPA/WPA2等安全协议的认证,nmcli则提供了更高级的网络管理功能,尤其适合现代Linux发行版。
无线网卡状态检查
在操作前,需确认系统是否识别到无线网卡,使用iwconfig命令可以列出所有无线网络接口:
iwconfig
输出结果中通常会显示wlan0、wlp3s0等接口名称,若未显示,可能需要检查驱动是否正确加载或硬件是否正常。ip a命令也可用于查看网络接口,包括无线网卡:
ip a
扫描可用WiFi网络
使用iw或iwlist命令可以扫描周围的无线网络。iw是更现代的工具,推荐优先使用:

iw dev wlan0 scan
该命令会显示详细网络信息,包括ESSID(网络名称)、BSSID(MAC地址)、频率、加密方式、信号强度等,若iw不可用,可尝试iwlist:
iwlist wlan0 scan
扫描结果可能较长,可通过管道和grep命令筛选特定信息,例如只显示ESSID:
iw dev wlan0 scan | grep SSID
配置无线网络连接
1 使用wpa_supplicant(适用于无GUI环境)
wpa_supplicant是处理WiFi认证的核心工具,创建或编辑配置文件/etc/wpa_supplicant/wpa_supplicant.conf,添加目标网络的配置信息:
network={
ssid="YourWiFiName"
psk="YourPassword"
key_mgmt=WPA-PSK
}
ssid为WiFi名称,psk为密码,key_mgmt根据加密方式选择(如WPA-PSK、WPA-PSK-SHA256等),配置完成后,使用以下命令启动连接:

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
参数说明:-B表示后台运行,-i指定接口,-c指定配置文件,通过dhclient或dhcpcd获取IP地址:
dhclient wlan0
2 使用nmcli(推荐,适用于支持NetworkManager的系统)
nmcli是NetworkManager的命令行工具,功能强大且易于使用,启用无线网卡:
nmcli radio wifi on
扫描网络:
nmcli dev wifi list
连接到指定网络(若网络未加密,无需密码;若加密,需输入密码):
nmcli dev wifi connect "YourWiFiName" password "YourPassword"
连接成功后,可通过nmcli connection show查看连接状态。
断开与重连WiFi
1 使用wpa_supplicant
断开连接:
wpa_cli -i wlan0 terminate
重新连接前,需重新启动wpa_supplicant并获取IP。
2 使用nmcli
断开连接:
nmcli connection down "YourWiFiName"
重新连接:
nmcli connection up "YourWiFiName"
常见问题排查
- 无法识别无线网卡:检查驱动是否加载(
lsmod | grep [驱动名]),必要时安装对应驱动(如firmware-linux)。 - 无法扫描到网络:确认无线网卡已启用(
nmcli radio wifi on),或尝试重启NetworkManager(systemctl restart NetworkManager)。 - 认证失败:检查
wpa_supplicant.conf中的密码和加密方式是否正确,或尝试重新输入密码连接。 - 获取IP失败:检查DHCP服务是否正常运行,或手动配置静态IP(
nmcli connection modify "YourWiFiName" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8)。
高级配置:静态IP与多网络管理
若需为WiFi连接配置静态IP,可通过nmcli实现:
nmcli connection modify "YourWiFiName" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 nmcli connection up "YourWiFiName"
对于多网络环境,可创建多个连接 profile 并根据需要切换:
nmcli connection add type wifi ifname wlan0 ssid "AnotherWiFi" nmcli connection modify "AnotherWiFi" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "AnotherPassword" nmcli connection up "AnotherWiFi"
相关问答FAQs
Q1: 如何在Linux命令行中查看当前连接的WiFi信号强度?
A1: 可通过iw或iwconfig命令查看信号强度,使用iw dev wlan0 link显示当前连接的详细信息,包括信号强度(如signal: -65.00 dBm);或使用iwconfig wlan0 | grep "Signal level"直接提取信号强度数值。
Q2: 如果忘记WiFi密码,能否通过命令行从已保存的配置中找回?
A2: 可以,若使用wpa_supplicant,密码存储在/etc/wpa_supplicant/wpa_supplicant.conf文件中,直接查看该文件的psk字段即可;若使用NetworkManager,可通过nmcli connection show "连接名" | grep wifi-security.psk查看加密后的密码,但明文密码需通过cat /etc/NetworkManager/system-connections/连接名 | grep psk=获取(可能需要root权限)。
