巧用 Linux 原生工具搭配轻量脚本,无需付费扩容、不依赖云端,一键将 iPhone 相册完整备份到 Linux 主机。支持增量同步、断点续传、按日期自动归档,全程本地直连、数据完全可控,安全省心又省钱,打造属于自己的高性价比私有照片库。每当系统提示存储空间不足时,瞬间感觉满脑袋满血啊~那个上头啊~sudo apt updatesudo apt install -y ifuse libimobiledevice6 libimobiledevice-utils gvfs-backends gvfs-fuse gphoto2
2、配对与挂载
第1步:USB 连接 iPhone,在手机上点击 “信任此电脑”。第2步:终端执行以下命令,建立配对并挂载 DCIM:# 创建挂载点mkdir -p ~/mnt/iphone# 配对设备(首次)idevicepair pair# 挂载 DCIM 目录,如果提示失败请去掉 root 参数ifuse ~/mnt/iphone --root
创建完挂载点成功后,会看到文件夹图标右下角多了个存储设备的图标。第3步:访问 ~/mnt/iphone/DCIM 即可看到照片 / 视频。通过文件管理器,查看 iPhone 手机挂载设备的目录和文件。全量备份:手机中内容全部备份至本地,手机中文件删除,本地不会发生删除操作。rsync -av --progress \ ~/mnt/iphone/DCIM/ \ ~/Pictures/iPhone_Backup/$(date +%Y%m%d)
模拟差异备份:手机端与本地完全一致,仅作对比并打印差异结果操作,本地不会发生删除操作。rsync -av --delete --dry-run --progress \ ~/mnt/iphone/ \ ~/mnt/iphone_backup_w/
增量差异备份:手机端与本地完全一致,本地会删除掉差异的文件。rsync -av --delete --progress \ ~/mnt/iphone/ \ ~/mnt/iphone_backup_w/
至于选择哪种同步方式,取决于自己的实际需求,以下是同步到本地的相册图片。卸载设备
同步完成后,请安全卸载掉设备哦!
fusermount -u ~/mnt/iphone
4、关键避坑
- iOS 17+ 需用
--root 参数挂载 AFC 服务,否则无法访问 DCIM。 - 若挂载失败,执行
idevicepair unpair 后重新配对。 - 照片格式为 HEIC 时,安装
heif-gdk-pixbuf 支持预览。
sudo apt install heif-gdk-pixbuf
然后双击打开 HEIC 格式的图片,预览一下金奖得主 叶大师 的展台。HEIC 格式虽然极大的压缩了存储空间,但对于日常使用还是太不方便了,特别是在 Win 下。所以,备份好原始数据之后,转换为 PNG 格式是一个非常明智的选择。#!/bin/bashsudo apt install -y libheif-examples# 定义根目录(固定前缀)ROOT_DIR="$HOME/mnt"# 遍历所有符合条件的目录:# 第一层通配符:匹配 iphone_image_backup_d_20260209/iphone_image_backup_w_20260209 等任意备份目录# 第二层通配符:匹配 100APPLE/101APPLE 等任意数字+APPLE 目录find "${ROOT_DIR}" -type d -path "*/DCIM/*APPLE" | while read -r dir; do echo "=====================================" echo "正在处理目录:${dir}" echo "=====================================" # 进入当前目录 cd "${dir}" || { echo "⚠️ 无法进入目录 ${dir},跳过" continue } # 批量转换当前目录下的所有 HEIC 文件(兼容 .heic/.HEIC 大小写) for file in *.heic *.HEIC; do # 跳过空匹配(目录下无 HEIC 文件时) [ -f "$file" ] || continue # 提取文件名(去掉后缀),拼接 PNG 后缀 output="${file%.*}.png" # 检查目标 PNG 是否已存在,避免重复转换 if [ -f "${output}" ]; then echo "ℹ️ ${output} 已存在,跳过" continue fi # 执行转换 if heif-convert "$file" "$output"; then echo "✅ 转换成功:${file} -> ${output}" else echo "❌ 转换失败:${file}" fi done # 返回根目录(避免路径错乱) cd "${ROOT_DIR}" || exitdoneecho "====================================="echo "🎉 所有目录处理完成!"echo "====================================="# 删除掉原始的 HEIC 图片文件,以下命令慎重执行# rm -f $ROOT_DIR/*/*/*/IMG_*.HEIC# rm -f $ROOT_DIR/*/*/*/IMG_*-depth.png# rm -f $ROOT_DIR/*/*/*/IMG_*matte.png# rm -f $ROOT_DIR/*/*/*/IMG_*.AAE
最后分享一张作者转换成功后的图片集,很多很多哦!整整转换了一夜才完成。不要尝试在 Win 下尝试备份你的 iPhone 相册,但作者尊重你的科学探索好奇心。