首页 > 其他分享 >statfs的使用

statfs的使用

时间:2023-04-04 16:12:59浏览次数:25  
标签:1024 MB statfs 使用 文件系统 long stInfo

1、函数原型

int statfs(const charpath, struct statfsbuf);

参数:
  path: 位于需要查询信息的文件系统的文件路径
  buf: statfs结构体类型的指针变量,用于存储文件系统的相关信息

头文件:
<sys/statfs.h>

2、statfs结构体:

struct statfs{
long f_type; //文件系统的类型
long f_bsize; //经优化后的传输块的大小
long f_blocks; //文件系统数据块总数
long f_bfree; //可用块数
long f_bavail; //普通用户能够获得的块数
long f_files; //文件结点总数
long f_ffree; //可用文件结点数
fisd_t f_fsid; //文件系统标识
long f_namelen; //文件名的最大长度
}

3、使用例子

void ZDiskCapacityStatusBar::GetDiskSpace(double &dFree_MB,double &dUsed_MB,double &dTotal_MB,double &percent)
{
struct statfs stInfo;
statfs("/mnt/store",&stInfo);
long long total = stInfo.f_blocks*stInfo.f_bsize;//数据块总数*数据块大小
long long avail = stInfo.f_bavail*stInfo.f_bsize;//普通用户可用块数*数据块大小
long long free = stInfo.f_bfree*stInfo.f_bsize;//root用户可用块数*数据块大小,机器是root用户
long long used = total - free;
percent = (float)(free) / float(total);//可用率
dFree_MB = free/1024/1024;
dUsed_MB = used/1024/1024;
dTotal_MB = total/1024/1024;
}

标签:1024,MB,statfs,使用,文件系统,long,stInfo
From: https://www.cnblogs.com/ekux127/p/17285949.html

相关文章

  • 关于使用Kotlin开发SpringBoot项目使用@Transactional和@Autowired的报错问题
    原文地址:关于使用Kotlin开发SpringBoot项目使用@Transactional和@Autowired的报错问题-Stars-One的杂货小窝问题描述最近在开发一个订单模块,需要出现异常就会触发数据回滚操作,首先就是想到了SpringBoot提供的@Transactiona注解功能,但是使用的时候,发现其他方法就是出现......
  • flask框架03 蓝图的使用 g对象 数据库连接池
    今日内容目录今日内容1蓝图的使用2g对象3数据库连接池1蓝图的使用#blueprint翻译过来的,称之为蓝图#作用是:之前全在一个py中写flask项目,后期肯定要划分目录#不用蓝图,划分目录 no_blueprint_flask#项目名src#核心源码位置__i......
  • ubuntu使用vnstat监控网络流量
    https://askubuntu.com/questions/1459/how-can-you-monitor-total-internet-data-usage-across-rebootshttps://www.booleanworld.com/monitor-network-traffic-linux-using-vnstat/......
  • mysql中find_in_set()函数的使用
    首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有1头条、2推荐、3热点、4图文等等。现在有篇文章他既是头条,又是热点,还是图文,type中以1,3,4的格式存储。那我们如何用sql查找所有type中有4的图文类型的文章呢?? 这就要我们的find_in_set出马的时候到了。......
  • 使用内网穿透调试微信小程序
    随意购买一个,登陆后台,选择隧道管理下载客户端点击bat批处理文件输入隧道id回车即可进入微信小程序编程工具将这个勾给勾上,然后修改HTTP_REQUEST_URL即可创作不易,如果能够解决您的问题,请给我点个赞,谢谢......
  • 1 蓝图的使用 、2 g对象 、3 数据库连接池
    目录1蓝图的使用2g对象3数据库连接池1蓝图的使用#blueprint翻译过来的,称之为蓝图#作用是:之前全在一个py中写flask项目,后期肯定要划分目录#不用蓝图,划分目录 no_blueprint_flask#项目名src#核心源码位置__init__.py#包里......
  • mvn的简介、安装、使用及常用命令
    一、简介nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看等,与npm不同的是,npm是依赖包的管理工具,nvm是nodejs的版本管理工具,通过它可以安装和切换不同版本的nodejs。 二、安装可以在GitHub上下载最新版本。nvm-noinstall.zip:绿色免安装版,但......
  • 项目实践后的图片压缩完整使用过程【vue3+js】
    van-uploader+图片压缩+图片base64转成file compressImage.jsconstACCEPT=['image/jpg','image/png','image/jpeg']constMAXSIZE=1024*1024*2;constMAXTIP="4"//压缩算法函数/*1.首先拿到了base64的图片字符串2.创建一个image对象,获......
  • java使用浏览器请求下载pdf文件
    java使用浏览器请求下载pdf文件代码/***下载pdf文件**@parampdfFileUrl文件地址*@paramfileName文件名称*/publicstaticvoiddownloadPdf(StringpdfFileUrl,StringfileName){ServletRequestAttributesrequestAttributes=(ServletRequestAttr......
  • 使用wsimport快速生成soap客户端代码
    在jdk的bin目录下cmd进入操作界面使用命令wsimport.exe-encodingutf-8-keep-s输出java文件路径wsdl文件路径 ......