分区大小与文件系统大小

分区大小与文件系统大小

我正在编写一个 C++ 程序,我需要获取分区和 hhd 的总空间、可用空间和已用空间。
我对可用于从系统获取这些数据的所有命令和代码以及输出之间的所有差异感到非常困惑。
我读了这个链接:为什么有这么多不同的方法来测量磁盘使用情况?,这很有用,但并没有真正帮助我解决我的问题,我理解和
的输出之间大小差异的原因是给出文件系统的大小和分区的大小。我需要的东西也是。但据我所知,只给出了分区的总大小。(我对吗?)我还在代码中使用了结构,并且输出与 df 的输出非常接近。那么我应该使用什么来获取分区和硬盘的确切可用大小、已用大小和总大小?lsblkdfdflsblkpartition's sizelsblk
statvfs

答案1

在命令行上,您可以使用:

lsblk -bo NAME,SIZE,FSTYPE,FSSIZE,FSUSED,FSAVAIL,FSUSE%

但在 C++ 程序中,您通常不想解析任何其他命令的输出:您应该使用系统和库调用来直接获取信息。

为工作寻找合适的需求更多的是 Stack Overflow 的领域,但这里有一些提示:

相关内容