
1 F281M6Dh8DXpD1g2 Apr 25, 2022 你先看看 du 到底在 count 啥..... |
2 aloxaf Apr 25, 2022 du 默认统计磁盘占用,而不是文件大小 |
3 skyoojaa Apr 25, 2022 可以对比下两个目录的文件数量。 |
4 tomychen Apr 25, 2022 检查一下内存... 我之前也是遇到类似问题,原因就是有一条内存坏了。导致复制大文件的时候总是出错( MD5 ,校验失败),开始以为是我程序的问题,一直在代码上找原因,后来用 cp 一样会有问题,最终换内存解决问题。 |
5 securityCoding Apr 25, 2022 via Android @tomychen 我擦,这也可以 |
6 Mark42 OP 谢谢大家的思路,破案了。 原因是源目录中的文件存在硬链接,因为硬链接是同一个 inode ,导致 du -sh 时只统计了一个文件的大小; cp -rp 命令并没有保留原本的硬链接,而是创建了同样的文件,在系统里是不同的 inode 。所以 du 统计目的目录大小时会变大。 如何解决:cp 加上-a 参数;或者使用 rsync -H |