了解不同的目录大小

Ren*_*ene 6 linux bash du

比较时

root@debian:~# du -s /backup/test1/
5605364 /backup/test1/
Run Code Online (Sandbox Code Playgroud)

两个目录du

root@debian:/etc/init.d# du -s /data/test1/
5605360 /data/test1/
Run Code Online (Sandbox Code Playgroud)

du 告诉我每个目录的总大小略有不同。

另一方面,Diff 告诉我两个目录是相同的:

root@debian:/etc/init.d# diff -r /data/test1/ /backup/test1/
Run Code Online (Sandbox Code Playgroud)

是什么原因?

les*_*ana 6

du报告文件的“磁盘使用情况”,而不是每个文件包含的确切字节数。dueven的手册页说:

du - 估计文件空间使用情况

完全有可能同一组文件使用不同的磁盘空间。这是因为文件系统的复杂性。有关文件系统上磁盘使用情况的更多信息,请阅读以下问题和答案:https : //superuser.com/questions/218395/about-file-size-and-disk-usage-in-ext3

diff比较文件的内容diff不关心文件在文件系统上实际使用了多少字节。它只关心字节文件。

如果要du报告每个文件的确切字节数,可以使用--apparent-size.


小智 3

由于您没有提供详细信息,因此有猜测/猜测的空间。

我假设 /data 和 /backup 安装在使用不同块大小格式化的不同分区上。这将导致物理使用磁盘空间的测量略有不同,因为需要一个(或多个)附加(或更少)块。

您可以通过执行df和复制/dev/...安装点的一部分/data并将/backup它们提供给file -s

例如

file -s /dev/sda1
Run Code Online (Sandbox Code Playgroud)