获取所有文件大小列表的最快方法

获取所有文件大小列表的最快方法

我正在尝试创建 ext4 系统上文件大小分布的图表。我正在尝试编写一个脚本以某种方式从我的计算机中抓取这些信息。我不关心文件存储在目录结构中的位置,只关心每个文件占用多少空间。我知道文件大小存储在 inode 元数据中,如果存在这样的东西,那么读取 inode 表可能会非常快。有谁知道用于访问文件大小或直接从 inode 表读取的 C API?有谁知道inode表存储在哪里?

答案1

如果你想要一个 C API,你最终会得到 GNU nftw,即 GNU 文件树遍历。不要欺骗自己使用普通的旧ftw数据,你会得到不准确的数据。您需要编写一个“每​​个文件”函数,该struct stat函数使用nftw传递到“每个文件”函数的 。您可以使用“每个文件”功能将文件大小放入存储桶中,或者仅打印出文件大小,然后以其他方式将数字放入存储桶中。

答案2

你试过了吗baobab或者 filelight

相关内容