You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何验证SD卡文件已全部迁移至Linux目录及其子目录?

验证SD卡文件已完整复制到目标目录的方法

方案1:用rsync做快速校验(推荐)

rsync不仅能复制文件,还能直接对比源目录和目标目录的差异,而且不需要实际修改文件。假设你的SD卡挂载在/mnt/sdcard,执行以下命令:

rsync -avn --delete /mnt/sdcard/ /home/pepa/dir1/

参数说明:

  • -a:归档模式,保留文件权限、时间戳等所有属性
  • -v:显示详细操作信息
  • -n:模拟运行,不会实际修改任何文件
  • --delete:会提示目标目录比SD卡多的文件(比如你后来创建的子目录),可以忽略这些。如果命令执行后没有输出,说明SD卡的所有文件都已存在于dir1或其子目录中;有输出的话,列出的就是未复制成功的文件。

方案2:用diff直接对比目录

diff可以递归对比两个目录的所有内容,命令如下:

diff -r /mnt/sdcard/ /home/pepa/dir1/
  • -r:递归检查所有子目录
    如果没有任何输出,说明两个目录的文件完全一致;如果有输出,会明确指出哪些文件在SD卡存在但目标目录没有,或者内容有差异。注意:目标目录里你后来新增的文件会被标记为“仅在目标存在”,这些可以不用管。

方案3:校验文件内容一致性(严谨版)

如果需要确认文件内容完全一致(不只是文件名匹配),可以用校验和对比:

  1. 先在SD卡目录生成所有文件的MD5校验清单:
cd /mnt/sdcard
find . -type f -exec md5sum {} \; > /tmp/sdcard_md5.txt
  1. 再在目标目录生成校验清单:
cd /home/pepa/dir1
find . -type f -exec md5sum {} \; > /tmp/dir1_md5.txt
  1. 对比两个清单,找出SD卡有但目标没有的文件:
grep -v -f /tmp/dir1_md5.txt /tmp/sdcard_md5.txt

如果输出为空,说明SD卡所有文件的内容都已在目标目录存在;有输出的话,就是内容不匹配或者缺失的文件。

内容的提问来源于stack exchange,提问作者user2955884

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:07:15