获取文件夹的真实外观大小

获取文件夹的真实外观大小

我正在使用该du命令来获取文件夹的大小。由于我对实际大小感兴趣,我最终使用了以下命令:

du –sh --apparent-size <someFolder>/

在此示例中,返回4.6M.但我知道该文件夹实际上有 4M,WinSCP 确认了这一点 (4096KiB)。

那么我必须使用什么命令才能得到“4M”结果(最好是人类可读的格式)?

另请注意,我还需要包含所有子文件夹,以便它必须是递归的。文件夹结构是这样的:

_cache
+-- _fold1
+-- _fold2
|   +-- _fold2.1
|       +-- file2.1.1
|       +-- file2.1....
|       +-- file2.1.5000
|   +-- _fold2.2
|       +-- file2.2.1
|       +-- file2.2....
|       +-- file2.2.5000

谢谢!

答案1

该命令du旨在显示磁盘使用情况。目录的磁盘使用情况包括实际目录占用的大小。

目录是一种特殊类型的文件,它保存其中所有文件或其他条目的名称和索引节点。这会占用磁盘空间。

例如,我创建了三个目录。

一种是dir1,包含一个大小为 40M 的单个文件。该目录dir2包含十个子目录,每个子目录包含一个大小为 4M 的文件。该目录dir3包含一万个空文件。

跑步du -s -B 1 dir1 dir2 dir3给予

41947136    dir1
41988096    dir2
258048  dir3

对于小目录,目录大小(至少在没有任何特殊设置的 ext4 文件系统上)为 4096 字节。对于大型目录(包含许多文件),大小会更大(正如ls -l会告诉您的那样)。将目录和文件的大小相加,我相信您最终会得到所看到的差异。

相关内容