Ubuntu终端使用nmcli管理WiFi连接全指南

发布时间:2026/9/15 17:54:49

Ubuntu终端使用nmcli管理WiFi连接全指南 1. Ubuntu终端管理WiFi的必要性与场景在服务器运维、远程调试或图形界面崩溃的情况下通过终端管理WiFi连接是Linux系统管理员的必备技能。nmcli作为NetworkManager的命令行工具提供了比图形界面更强大的控制能力特别适合以下场景无GUI的服务器环境Ubuntu Server版默认没有图形界面自动化脚本编写批量配置多台设备的网络参数网络故障排查当图形界面网络管理器崩溃时远程SSH管理通过命令行调整网络配置注意Ubuntu 18.04及以上版本默认已安装NetworkManager无需额外安装。如果系统使用ifupdown网络管理工具需要先安装NetworkManagersudo apt install network-manager2. nmcli基础环境准备2.1 检查网络管理服务状态首先确认NetworkManager服务正常运行systemctl status NetworkManager正常状态应显示active (running)。如果未运行使用以下命令启动sudo systemctl start NetworkManager sudo systemctl enable NetworkManager # 设置开机自启2.2 查看网络设备列表获取当前网络接口信息nmcli device status典型输出示例DEVICE TYPE STATE CONNECTION wlan0 wifi disconnected -- eth0 ethernet unmanaged -- lo loopback unmanaged --这里wlan0就是无线网卡设备名不同机器可能为wlp3s0等名称2.3 启用WiFi射频确保无线网卡射频已开启nmcli radio wifi on检查射频状态nmcli radio wifi显示enabled表示已启用3. WiFi扫描与连接实战3.1 扫描周边无线网络执行扫描并列出可用网络nmcli device wifi list输出示例IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY HomeWiFi Infra 6 130 Mbit/s 85 ▂▄▆█ WPA2 Office_Guest Infra 11 270 Mbit/s 72 ▂▄▆_ WPA2 CoffeeShop_Free Infra 1 195 Mbit/s 45 ▂▄__ --技巧添加--rescan yes参数强制刷新扫描结果nmcli device wifi list --rescan yes3.2 连接开放网络对于无密码的开放网络nmcli device wifi connect CoffeeShop_Free3.3 连接WPA/WPA2加密网络需要指定密码的连接方式nmcli device wifi connect HomeWiFi password your_password连接成功后会自动创建并激活一个连接配置档案3.4 连接隐藏网络连接不广播SSID的网络需要额外参数nmcli device wifi connect HiddenNet password secret hidden yes3.5 指定网卡连接当系统有多个无线网卡时需指定接口nmcli device wifi connect Office_WiFi password 12345678 ifname wlan04. 连接配置档案管理4.1 查看所有保存的连接nmcli connection show输出示例NAME UUID TYPE DEVICE HomeWiFi a5bd53c7-875f-45a1-b3e5-2f8a1e8d5f1e wifi wlan0 Wired connection 1 6a5f8d1e-2b3c-4d5e-6f7a-8b9c0d1e2f3g ethernet --4.2 查看连接详细信息nmcli connection show HomeWiFi会显示IP地址、DNS、路由等完整配置信息4.3 修改现有连接配置更改WiFi密码nmcli connection modify HomeWiFi wifi-sec.psk new_password添加静态DNSnmcli connection modify HomeWiFi ipv4.dns 8.8.8.8 8.8.4.44.4 手动激活/停用连接激活已有配置nmcli connection up HomeWiFi断开连接nmcli connection down HomeWiFi4.5 删除保存的配置nmcli connection delete Old_WiFi5. 高级配置技巧5.1 设置静态IP地址nmcli connection modify HomeWiFi \ ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 8.8.8.8然后重新激活连接nmcli connection down HomeWiFi nmcli connection up HomeWiFi5.2 创建新的连接配置不立即连接的配置创建nmcli connection add \ type wifi \ con-name OfficeBackup \ ssid Office_WiFi \ wifi-sec.key-mgmt wpa-psk \ wifi-sec.psk office_password5.3 配置自动连接优先级当多个网络可用时设置优先级数字越大优先级越高nmcli connection modify HomeWiFi connection.autoconnect-priority 10 nmcli connection modify Office_WiFi connection.autoconnect-priority 56. 常见问题排查6.1 WiFi连接失败检查NetworkManager日志journalctl -u NetworkManager -f尝试重新扫描网络nmcli device wifi rescan6.2 设备未被NetworkManager管理检查设备管理状态nmcli device show wlan0 | grep managed如果显示unmanaged需要启用管理nmcli device set wlan0 managed yes6.3 忘记保存的WiFi密码查看已保存密码sudo cat /etc/NetworkManager/system-connections/HomeWiFi.nmconnection | grep psk6.4 信号弱频繁断开查看信号强度nmcli device wifi list考虑添加信号阈值配置nmcli connection modify HomeWiFi wifi.cloned-mac-address permanent wifi.mac-address-randomization 17. 自动化脚本示例7.1 自动连接最强信号脚本#!/bin/bash # auto_connect.sh # 获取信号最强的SSID BEST_SSID$(nmcli -t -f SSID,SIGNAL device wifi list | sort -t: -k2 -nr | head -1 | cut -d: -f1) # 检查是否已连接 CURRENT_SSID$(nmcli -t -f GENERAL.CONNECTION device show wlan0 | cut -d: -f2) if [ $CURRENT_SSID ! $BEST_SSID ]; then echo 正在连接最佳网络: $BEST_SSID nmcli device wifi connect $BEST_SSID else echo 已连接最佳网络: $BEST_SSID fi7.2 WiFi断线自动重连#!/bin/bash # wifi_watchdog.sh CONNECTIONHomeWiFi TEST_HOST8.8.8.8 while true; do if ! ping -c 1 -W 5 $TEST_HOST /dev/null; then echo $(date): 网络断开尝试重连... nmcli connection down $CONNECTION sleep 2 nmcli connection up $CONNECTION fi sleep 60 done在实际使用中发现nmcli的稳定性比图形界面网络管理器更高特别是在服务器环境中。一个实用的技巧是使用nmcli -t参数获取机器可读的输出方便脚本处理。对于需要频繁切换不同网络环境的用户建议为每个场所创建独立的连接配置并通过优先级设置实现自动切换。
延伸阅读

更多相关文章

2026/9/14 3:57:15

Ubuntu 24.04 LTS下btrfs子卷配置与优化指南

1. Ubuntu 24.04 LTS与btrfs子卷配置实战最近在全新安装Ubuntu 24.04 LTS时选择了btrfs文件系统,并尝试配置子卷(subvolumes)结构。这个组合在实际使用中展现出不少独特优势,但也遇到了一些意料之外的问题。下面我将详细记录整个配…

2026/9/14 17:13:25

深入解析ELF文件格式:结构、工具与安全实践

1. ELF文件格式概述ELF(Executable and Linkable Format)是Linux系统中最常见的可执行文件格式标准。我第一次接触ELF文件是在调试一个崩溃的C程序时,当时用objdump反汇编查看崩溃点附近的指令,从此对这种文件格式产生了浓厚兴趣。…

2026/9/6 11:19:11

74HC595驱动多位数码管的嵌入式系统设计

1. 项目概述 在嵌入式系统开发中,数码管显示是最基础也最常用的输出方式之一。但直接驱动数码管会占用大量IO口资源,这在IO口有限的单片机系统中尤为棘手。最近我在一个工业控制项目中,就遇到了需要驱动多位数码管但IO口不足的情况。经过多种…

2026/9/15 17:53:14

Zynq UltraScale+程序固化:XCZU4EV启动链与QSPI烧写指南

简介:围绕XCZU4EV等Zynq UltraScale MPSoC器件,这份资料面向FPGA与嵌入式系统开发者,详解如何基于VITIS工具链完成程序固化,覆盖XCZU2CG、XCZU2EG、XCZU4EV等常用型号,解决从软件工程创建、硬件描述生成到启动镜像制作…

2026/9/15 17:53:14

XMC1300无刷电机驱动:从霍尔换相到PID控制的完整工程指南

简介:这是一份基于英飞凌XMC1300(ARM Cortex-M0内核)的直流无刷电机驱动程序嵌入式开发工程资源,面向电机控制学习者与嵌入式开发者,内容覆盖BLDC驱动控制、PWM调制、位置检测、PID算法及Keil工程调试等关键环节。压缩…

2026/9/15 17:53:14

M5销量预测Baseline:基于LightGBM的时序建模与特征工程实战

做销量预测绕不开 Kaggle 上的 M5 Forecasting - Accuracy。这个比赛是 2020 年结束的老竞赛,但放到现在依然是入门时序建模最靠谱的教材之一,尤其适合那些想把“会调库”升级成“能独立建模”的人。它要解决的问题很直接:用沃尔玛 10 家门店…

2026/9/15 17:53:14

YOLOv8实例分割实战指南:从数据标注到模型部署全流程解析

1. 实例分割项目概述与环境认知做YOLOv8实例分割训练,和做目标检测完全是两个世界的玩法。检测任务只要给目标画个框,告诉模型“这个区域有东西”就结束了;实例分割要把每个目标的轮廓精准抠出来,模型除了知道“哪里有什么”&…

2026/9/15 17:48:13

HTML打包成EXE:Electron免安装便携版实战指南

我先说一下我的结论:把 HTML 打包成 EXE 这件事,做前端的人和做内部工具的人迟早都会遇到。需求说起来特别朴素——我手上有一个做好的 HTML 网页,可能是单文件,也可能带 js/css 资源,想把它发给我妈、发给同事、发给客…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码