Lau*_*oud 5 linux command-line hardlink cp du
我曾经cp -rl复制一个文件夹。在测量源和副本结果的du -sl大小时,返回的大小略有不同,即使diff确认它们的内容相同:
$ cp -rl folderA/ folderB/
$ du -sl folderA folderB
98561224 folderA
98590512 folderB
$ diff --brief -ra folderA/ folderB/
$
Run Code Online (Sandbox Code Playgroud)
两个文件夹都驻留在同一个硬盘上,在复制和测量之间没有对它们中的任何一个进行任何修改。我什么也没发现的文档du和cp这可以解释的差异。
小智 2
我自己尝试了一下,发现大小差异来自于目录文件。由于它们没有硬链接,因此它们是创建的新文件,可能不具有完全相同的元数据?
为了说明这一点,请运行以下命令:
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}'
Run Code Online (Sandbox Code Playgroud)
这些大小应该相同(不包括 dir 文件)。您可以打印包含目录大小的列表并比较结果以查找哪些目录完全不同。
| 归档时间: |
|
| 查看次数: |
2009 次 |
| 最近记录: |