麒麟OS中可导出已配对蓝牙与WiFi设备:一、读取/var/lib/bluetooth/下cache目录提取蓝牙设备名称、MAC及配对时间;二、用nmcli命令导出WiFi的SSID、安全类型和自动连接状态;三、通过D-Bus接口统一获取蓝牙Trust属性和WiFi连接UUID。

如果您需要在麒麟OS中导出当前系统已配对并信任的蓝牙与WiFi设备列表,以便备份、审计或迁移至其他终端,则需调用系统底层设备管理接口或日志存储路径。以下是实现该目标的多种方法:
一、通过bluez服务日志提取已配对蓝牙设备
该方法直接读取BlueZ蓝牙协议栈的持久化配对信息存储目录,不依赖图形界面,适用于所有Kylin桌面版本(V10 SP1及以后),输出为纯文本设备清单,含设备名称、MAC地址与配对时间戳。
1、打开终端,执行命令进入蓝牙配对数据库目录:cd /var/lib/bluetooth/
2、列出适配器子目录,识别本地蓝牙控制器地址(格式为XX:XX:XX:XX:XX:XX):ls -d [0-9A-Fa-f:]*
3、进入对应适配器目录下的cache子目录:cd XX:XX:XX:XX:XX:XX/cache/
4、执行命令批量提取设备名称与地址:for f in *; do echo "$f $(cat $f 2>/dev/null | grep -E 'Name|Address' | tr '\n' ' ')"; done > ~/bluetooth-trusted-list.txt
5、查看导出结果:cat ~/bluetooth-trusted-list.txt
二、使用nmcli命令导出已保存WiFi网络配置
该方法利用NetworkManager命令行工具读取系统级WiFi连接配置文件,可获取SSID、安全类型、是否自动连接等关键字段,输出为结构化文本,兼容Kylin V10 SP2及以上版本。
1、在终端中运行以下命令列出所有已保存连接:nmcli -g NAME connection show --active
2、逐个查询每个连接的详细参数,并筛选出可信字段:nmcli -s connection show "连接名称" | grep -E "802-11-wireless.ssid|802-11-wireless-security.key-mgmt|connection.autoconnect"
3、将全部已保存WiFi配置导出为汇总文件:nmcli -t -f NAME,UUID,TYPE,AUTOCONNECT connection show | grep wifi > ~/wifi-saved-list.txt
4、补充加密凭证标识(仅限当前用户可读):sudo cat /etc/NetworkManager/system-connections/*.nmconnection 2>/dev/null | grep -E "ssid|key-mgmt|psk=" | sed 's/^ *//; s/ //g' >> ~/wifi-saved-list.txt
三、调用D-Bus接口批量获取蓝牙+WiFi双模信任设备
该方法通过系统总线调用NetworkManager与org.bluez服务的D-Bus接口,一次性采集两类设备的授权状态,适用于需统一导出场景,要求dbus-tools已安装且用户具有session权限。
1、确认dbus-send工具可用:which dbus-send
2、查询NetworkManager中所有WiFi连接的UUID与信任状态:dbus-send --system --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Get string:"org.freedesktop.NetworkManager" string:"Connections" | grep -A5 -B5 uuid
3、查询bluez服务中所有已配对设备的Trust属性:dbus-send --system --dest=org.bluez /org/bluez/hci0 org.freedesktop.DBus.Properties.GetAll string:"org.bluez.Device1" | grep -E "Address|Name|Trusted"
4、将两组输出合并重定向至单个文件:echo "== Bluetooth Trusted ==" > ~/device-export-all.txt && dbus-send ... (同上) >> ~/device-export-all.txt && echo "== WiFi Saved ==" >> ~/device-export-all.txt && nmcli ... >> ~/device-export-all.txt

















