当我查看一个目录的du -hs时,我得到了大约956k,但是当我对同一个目录执行du -b时,我得到了大约604347,也就是大约590k。为什么我在这两个命令之间有这么大的差异(600 K对956 k)。我看错了吗?
发布于 2020-02-12 20:58:11
选项-b做两件事,第一,它报告表中的大小而不是磁盘的使用情况;第二,它用单个字节的粒度来报告。
文件占用的空间比其表面大小,甚至实际大小还要大,主要原因是文件系统使用固定大小的块。因此,即使只有一个字节的文件也会占用整个块。
你看到的是许多小文件的效果。
在ext4文件系统中,默认块大小为4096字节。在您的场景中,更小的块大小可能是有益的。另一方面,如果您的磁盘应该存储大部分大型文件,则增加块大小是有意义的。毕竟,块的组织也占用了磁盘上的空间。因此,在这方面,4096是一个妥协,但也适合于现代硬盘驱动器,它内部工作4096字节扇区。
发布于 2020-02-12 20:56:03
如果您man du,您将看到-b等同于--apparent-size --block-size=1,这意味着:
打印表观大小,而不是磁盘使用量;虽然表观大小通常较小,但由于(“稀疏”)文件中的漏洞、内部碎片、间接块等原因,它可能更大。
因此,-b选项可能显示的值可能小于所引用文件/目录的磁盘使用量大小,但并不总是如手册所解释的那样为真。
https://stackoverflow.com/questions/60196650
复制相似问题