用nmcli 连接无线网络
时间: 2025-05-19 12:22:31 浏览: 21
### 如何使用 `nmcli` 命令连接无线网络
要通过 `nmcli` 连接到无线网络,可以按照以下方式操作。以下是详细的说明以及示例代码。
#### 查看可用的无线网络
可以通过运行以下命令来扫描并显示当前可访问的无线网络列表:
```bash
nmcli dev wifi list
```
此命令会列出所有可用的 Wi-Fi 热点及其 SSID 和信号强度等信息[^1]。
#### 添加新的无线连接
如果尚未创建针对目标无线网络的配置文件,则需要先添加一个新的连接。假设你要连接到名为 "MyWiFiNetwork" 的无线网络,并且该网络受 WPA/WPA2 加密保护:
```bash
nmcli con add type wifi ifname * ssid MyWiFiNetwork
```
在此处,“ifname *”表示让 NetworkManager 自动选择合适的无线接口;如果你知道具体的无线网卡名(比如 wlp3s0),可以用实际的名字替代星号[^1]。
#### 设置密码
对于加密的无线网络,在建立上述连接之后还需要指定相应的密码:
```bash
nmcli con modify "MyWiFiNetwork" wifi-sec.psk your_password_here
```
这里 `"MyWiFiNetwork"` 是之前定义好的连接名称,而 `your_password_here` 应替换为你所知的真实Wi-Fi 密码[^1]。
#### 启用新创建的连接
最后一步就是激活这个刚刚设定完成的新连接:
```bash
nmcli con up id "MyWiFiNetwork"
```
这将会尝试去关联选定的SSID 并验证身份认证过程是否成功[^1]。
#### 示例脚本
下面给出一个完整的Shell 脚本来实现以上功能:
```bash
#!/bin/bash
NETWORK_SSID="MyWiFiNetwork"
PASSWORD="your_password_here"
# List available networks.
echo "Listing all nearby WiFi Networks..."
nmcli dev wifi list | grep $NETWORK_SSID || { echo "$NETWORK_SSID not found"; exit 1; }
# Add a new connection profile unless it already exists.
CONNECTION_EXISTS=$(nmcli -t -f NAME c show | grep "^$NETWORK_SSID$")
if [[ -z "$CONNECTION_EXISTS" ]]; then
nmcli con add type wifi ifname wlan0 ssid $NETWORK_SSID
fi
# Set the password for secure connections.
nmcli con modify "$NETWORK_SSID" wifi-sec.psk $PASSWORD
# Bring up the network interface with our settings applied.
nmcli con up id "$NETWORK_SSID" && echo "Connected to $NETWORK_SSID successfully."
```
阅读全文
相关推荐


















