当前位置:首页>Linux>巧妙使用 Linux 工具备份 iPhone 相册,不是 iCloud 用不起,而是本地备份更有性价比!

巧妙使用 Linux 工具备份 iPhone 相册,不是 iCloud 用不起,而是本地备份更有性价比!

  • 2026-09-02 15:39:23
巧妙使用 Linux 工具备份 iPhone 相册,不是 iCloud 用不起,而是本地备份更有性价比!
巧用 Linux 原生工具搭配轻量脚本,无需付费扩容、不依赖云端,一键将 iPhone 相册完整备份到 Linux 主机。支持增量同步、断点续传、按日期自动归档,全程本地直连、数据完全可控,安全省心又省钱,打造属于自己的高性价比私有照片库。
每当系统提示存储空间不足时,瞬间感觉满脑袋满血啊~那个上头啊~
1、安装依赖
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
创建完挂载点成功后,会看到文件夹图标右下角多了个存储设备的图标。
使用 df 命令查看一下挂载设备的存储空间。
第3步:访问 ~/mnt/iphone/DCIM 即可看到照片 / 视频。
通过文件管理器,查看 iPhone 手机挂载设备的目录和文件。
3、备份与卸载
全量备份:手机中内容全部备份至本地,手机中文件删除,本地不会发生删除操作。
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 支持预览。
5、安装 HEIC图片格式支持插件
sudo apt install heif-gdk-pixbuf
然后双击打开 HEIC 格式的图片,预览一下金奖得主 叶大师 的展台。
6、批量转换 HEIC 格式图片为 PNG 格式
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 相册,但作者尊重你的科学探索好奇心。

最新文章

随机文章