在 Linux 桌面环境下用 ADB 快速备份手机文件
- 2026-06-10 21:57:00
- 丁国栋
- 原创 7
手机空间越来越大,但总有满的一天。传统的 MTP 协议在文件数量多时容易出错,GVfs 挂载又有权限问题。本文介绍如何在 Linux 桌面上使用 ADB(Android Debug Bridge)高速稳定地备份手机中的图片、视频等文件,规避 MTP 和 GVfs 的常见陷阱。
一、为什么传统备份方式不好用
备份手机文件通常有两种方式:云服务和 USB 连接电脑。
- 云服务:空间有限,且订阅价格不低;
- USB 线缆备份:默认走 MTP 协议,文件数量一多就容易报错、中断。
在 Linux 桌面环境下,问题还会更复杂一些。
二、MTP 与 GVfs:问题出在哪里
MTP 协议本身的局限
MTP(Media Transfer Protocol,媒体传输协议)是 USB 协议的一种,专用于设备间的文件传输。它的工作方式是先建立连接,再逐个传输文件。当文件数量达到几千甚至上万时,协议本身的稳定性就会下降,报错、断连是家常便饭。
GVfs 挂载的权限陷阱
在 GNOME 桌面(如 Ubuntu 默认桌面)中,当手机通过 USB 连接并允许电脑访问文件时,系统会通过 GVfs(GNOME Virtual file system)将手机挂载到一个特殊路径,例如:
/run/user/1000/gvfs/mtp:host=Xiaomi_Xiaomi_13_6aae7338/Internal shared storage/
这里有三个关键点:
- 路径属于用户会话:GVfs 运行在当前登录用户(user 1000)的会话中,
/run/user/1000/只有该用户能访问; - root 无权访问:使用
sudo cp时,你切换到了 root 用户,root 没有当前用户会话的 GVfs 访问权限,也没有对应的环境变量(如DBUS_SESSION_BUS_ADDRESS),因此会直接报Permission denied或cannot stat; - 路径不稳定:不同手机、不同连接的挂载路径变化很大,不适合写脚本自动化。
这些都说明,对于批量、大量文件的备份需求,MTP + GVfs 这条路很难走得通。
三、解决方案:使用 ADB
ADB(Android Debug Bridge)是 Android 官方提供的调试工具,支持在电脑与 Android 设备之间传输文件。它的 pull 命令直接走 ADB 协议,不依赖 GVfs,也没有 root 权限问题,传输速度更快,文件数量再多也稳定可靠。
环境准备
1. 手机端:开启 USB 调试
打开手机"设置"→"关于手机"→ 连续点击"版本号"7 次,激活"开发者选项"。
然后在"开发者选项"中开启"USB 调试"。
2. 电脑端:安装 ADB
# Ubuntu / Debian
sudo apt install adb
3. 连接验证
用 USB 线连接手机,在手机弹出"允许 USB 调试"时点击允许,然后验证连接:
# 列出已连接的设备
adb devices
正常输出应类似:
List of devices attached
6aae7338 device
如果显示 unauthorized,说明手机端尚未确认授权,检查手机屏幕并点击"允许"。
开始备份
确认连接后,使用 adb pull 拉取文件:
adb pull /sdcard/DCIM /media/guodong/backup/phonem13/DCIM
/sdcard/DCIM是手机端相册的默认路径;- 后半部分是你的电脑端目标路径,根据实际情况修改。
其他常用命令
adb shell # 进入手机的 shell 环境
ls /sdcard/DCIM # 在 shell 中查看手机文件目录
四、总结
| 方式 | 优点 | 缺点 |
|---|---|---|
| 云服务 | 方便、自动 | 空间小、价格贵 |
| MTP + GVfs | 免安装、即插即用 | 大数据量不稳定、有权限问题 |
| ADB | 高速、稳定、无权限问题 | 需要开启 USB 调试 |
如果你的手机文件数量不多(几百张以内),MTP 方式完全够用;但如果动辄上千张照片、几十个视频,ADB 是明显更可靠的选择。一次配置,长期受益。
发表评论