获取文件夹的大小而不迭代其内容?

获取文件夹的大小而不迭代其内容?

是否有任何 unix 文件系统(或网络文件系统)可以获取文件夹的大小而无需遍历其内容?

我需要最快和最便宜的方法来获取文件夹的大小(也许是节点上的一些 fs 缓存元数据?),迭代其内容太慢了。

答案1

[仅限 Linux 答案]如果您想快速测量一组特定的文件夹,您可以尝试使用:

  • 分离文件系统/挂载点(例如在 LVM 上以简化管理),然后使用 df 获取大小。请注意,某些文件系统上的 df 并非 100% 准确。
  • XFS 项目配额,然后通过 查看磁盘使用情况xfs_quota -x -c "report -p"。您可以使用uqnoenforcemount 选项分配大量磁盘空间或禁用配额强制执行。

就我个人而言,我会在支持它的内核上使用 XFS 项目配额。

相关内容