C 如何获取Solaris/Unix上文件系统的inode计数?

C 如何获取Solaris/Unix上文件系统的inode计数?,c,unix,solaris,inode,C,Unix,Solaris,Inode,我正在调用下面的命令并读取outpupdf-fufs-oi。它最初运行良好,但由于此处报告和解释的原因,随后开始失败 虽然在上面的链接上建议的解决方案可能有效,但它是丑陋的,我想要一个永久的解决方案。所以,在Solaris/Unix上寻找c api,它将为我提供给定文件系统的inode总数和可用数量 非常感谢示例。系统调用可用于检索文件系统统计信息,包括总索引节点数和可用索引节点数。使用系统调用检索结构,然后检查f_文件和f_ffree字段,分别确定索引节点数和空闲索引节点数 例如: #incl

我正在调用下面的命令并读取outpup
df-fufs-oi
。它最初运行良好,但由于此处报告和解释的原因,随后开始失败

虽然在上面的链接上建议的解决方案可能有效,但它是丑陋的,我想要一个永久的解决方案。所以,在Solaris/Unix上寻找c api,它将为我提供给定文件系统的inode总数和可用数量

非常感谢示例。

系统调用可用于检索文件系统统计信息,包括总索引节点数和可用索引节点数。使用系统调用检索结构,然后检查
f_文件
f_ffree
字段,分别确定索引节点数和空闲索引节点数

例如:

#include <statvfs.h>

struct statvfs buffer;
int            status;
fsfilcnt_t     total_inodes;
fsfilcnt_t     free_inodes;
...
status = statvfs("/home/betaylor/file_in_filesystem", &buffer);

total_inodes = buffer.f_files;
free_inodes  = buffer.f_ffree;
...
#包括
结构statvfs缓冲区;
智力状态;
fsfilcnt总索引节点;
自由节点;
...
status=statvfs(“/home/betaylor/file_in_filesystem”、&buffer);
总索引节点=buffer.f\u文件;
自由索引节点=缓冲区。自由索引节点;
...

您想要的是
国家公务员
——请参阅。

非常感谢您花时间回答并编写一个示例:)