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