我曾经cp -rl
复制过一个文件夹。测量源文件和复制结果的大小时,du -sl
结果大小略有不同,尽管diff
确认它们的内容是相同的:
$ cp -rl folderA/ folderB/
$ du -sl folderA folderB
98561224 folderA
98590512 folderB
$ diff --brief -ra folderA/ folderB/
$
两个文件夹位于同一硬盘上,在复制和测量之间未对它们进行任何修改。我在和的文档中找不到任何du
可以cp
解释差异的内容。
答案1
我自己试了一下,发现大小差异来自目录文件。由于它们不是硬链接,因此它们是新创建的文件,可能不具有完全相同的元数据?
为了说明这一点,请运行以下命令:
ls -alR folderA/ | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'
ls -alR folderB/ | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'
这些大小应该相同(不包括目录文件)。您可以打印目录大小列表,然后比较结果以找出哪些目录完全不同。