一、获取磁盘大小(给入的是文件夹绝对路径);
check_disk_available(QString path)
{
    struct statfs diskinfo;
    unsigned long long size;
    unsigned long long blocksize;
    statfs(path.toUtf8().data(),&diskinfo);
    blocksize=diskinfo.f_bsize;
    size=diskinfo.f_bavail*blocksize;
    size=size>>20;
    if(size<2000)
    {
        return -1;
    }
    return 1;
}
statfs定义:
struct statfs {
long f_type; /* 文件系统类型 */
long f_bsize; /* 经过优化的传输块大小,单位B*/
long f_blocks; /* 文件系统数据块总数 */
long f_bfree; /* 可用块数 */
long f_bavail; /* 非超级用户可获取的块数 */
long f_files; /* 文件结点总数 */
long f_ffree; /* 可用文件结点数 */
fsid_t f_fsid; /* 文件系统标识 */
long f_namelen; /* 文件名的最大长度 */
};
 
二、文件大小获取:
  int getfilesize(char *filename)

{

int filesize=0;
struct stat mystat;
stat(filename,&mystat);
filesize=mystat.st_size;

return filesize;

}

  1. struct stat
  2. {
  3. dev_t       st_dev;     /* ID of device containing file -文件所在设备的ID*/
  4. ino_t       st_ino;     /* inode number -inode节点号*/
  5. mode_t      st_mode;    /* protection -保护模式?*/
  6. nlink_t     st_nlink;   /* number of hard links -链向此文件的连接数(硬连接)*/
  7. uid_t       st_uid;     /* user ID of owner -user id*/
  8. gid_t       st_gid;     /* group ID of owner - group id*/
  9. dev_t       st_rdev;    /* device ID (if special file) -设备号,针对设备文件*/
  10. off_t       st_size;    /* total size, in bytes -文件大小,字节为单位*/
  11. blksize_t   st_blksize; /* blocksize for filesystem I/O -系统块的大小*/
  12. blkcnt_t    st_blocks;  /* number of blocks allocated -文件所占块数*/
  13. time_t      st_atime;   /* time of last access -最近存取时间*/
  14. time_t      st_mtime;   /* time of last modification -最近修改时间*/
  15. time_t      st_ctime;   /* time of last status change - */
  16. };
 
 

linux磁盘大小获取和文件大小获取的更多相关文章

  1. Linux磁盘分区UUID的获取及其UUID的作用

    注:UUID-Universally Unique IDentifiers全局唯一标识符 一.Linux磁盘分区UUID的获取方法 1.[san@localhost ~]$ ls -l /dev/di ...

  2. 获取系统相关信息 (CPU使用率 内存使用率 系统磁盘大小)

    引言 在软件开个过程中,对于软件的稳定性和使用率也是我们需要关注的 .  使用sigar来监控,简单方便!  使用说明:下载sigar jar及配合sigar的dll文件来用,需要将dll文件放到JD ...

  3. .net 获取CPU频率 内存 磁盘大小,域名 端口 虚拟目录等

    CPU个数: @Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS") CPU类型: @Environment.Get ...

  4. Linux 磁盘空间大小统计du命令常见使用方法

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/hongweigg/article/details/37692057 在 Linux下,能够对某个文件 ...

  5. Linux查看磁盘占用率及文件大小

    查看磁盘占用率: 在 df 命令中使用-h选项,以人类易读的格式输出(例如,5K,500M 及 5G) linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令 ...

  6. 调整Linux磁盘分区的大小的方法

      昨天数据入库时,一直报错,说磁盘满了,,df -h    一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...

  7. php获取远程文件大小

    获取本地文件大小filesize()就可以了,但是如何获取远程文件的大小呢? 这里介绍三个方法来获取远程文件的大小. 方法1:get_headers <?php get_headers($url ...

  8. Linux - 查看文件、文件夹、磁盘大小命令

    1. ls -lsh 2. du -sh du == disk usage (磁盘使用量,占用的磁盘空间) 一个文件占用的磁盘空间和一个文件的大小是两码事情.占用空间取决于文件系统的块(block)的 ...

  9. Linux磁盘分区、挂载、查看文件大小

    快速查看系统文件大小命令 du -ah --max-depth=1 后面可以添加文件目录 ,如果不添加默认当前目录. 下面进入正题~~ 磁盘分区.挂载 引言: ①.分区的方式 a)mbr分区: 最多支 ...

随机推荐

  1. AI数据分析(二)

    NumPy库 NumPy数组对象 NumPy数据类型 数组的索引 数组的切片 数组的组合 数组的分割 数组的属性 NumPy数组对象 NumPy数据类型 #numpy数据类型 print " ...

  2. 最新版 IntelliJ IDEA2018.3.x 破解教程

    https://www.cnblogs.com/Candies/p/10050831.html

  3. pta总结1

    7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...

  4. Xcode 中armv6 armv7 armv7s arm64 i386 x86_64 归纳 (Architectures, Valid Architectures, Build Active Architecture Only)

    http://www.jianshu.com/p/09b445300d40 简介: armv7|armv7s|arm64都是ARM处理器的指令集 i386|x86_64 是Mac处理器的指令集 目前i ...

  5. Stock Chase 拓扑

    题意 给出n个公司  m条信息 当某条信息构成环了  则这条信息是错误的 统计有多少个信息是错误的 这题是一条一条读入  虽然分在拓扑排序类里面 但是不会用拓扑排序来做 可以用floyd思想来做 如果 ...

  6. 初探React Hooks & SSR改造

    Hooks React v16.8 发布了 Hooks,其主要是解决跨组件.组件复用的状态管理问题. 在 class 中组件的状态封装在对象中,然后通过单向数据流来组织组件间的状态交互.这种模式下,跨 ...

  7. vue加载优化策略

    vue.js是一个比较流行的前端框架,与react.js.angular.js相比来说,vue.js入手曲线更加流畅,不管掌握多少都可以快速上手.但是单页面应用也都有其弊病,有时候首屏加载慢的让人捏舌 ...

  8. Phabricator服务的搭建

    目录 概述 遇到的坑-Phabricator连接不上MySQL 准备环境 安装软件 安装Nginx 安装MySQL 安装PHP 下载Phabricator 配置 配置nginx和php 配置phabr ...

  9. BZOJ4665: 小w的喜糖 DP

    对于这道题,首先每个人的位置并不影响结果 所以我们可以将相同颜色糖果的人放在一块处理 设 $f_{i,j}$ 表示处理到第 $i$ 种糖果至少有 $j$ 人的糖果和原先的类型相同 枚举当前种类中不满足 ...

  10. jwt、session、oauth 异同

    1,jwt 和session机制 首先jwt 和session机制 都是用户认证的,oauth 不是 session 的流程: 1.用户向服务器发送用户名和密码. 2.服务器验证通过后,在当前对话(s ...