linux查询磁盘使用情况

df -h

 

 

 检测磁盘空间-Linux

复制代码
#if defined(__linux__) || defined(__linux)
            struct statvfs st;
            if (::statvfs(_path.data(), &st) != 0) {
               do warning
            }
            auto freeSize = st.f_bsize * st.f_bfree;//空闲字节,还能输出总缓冲
         
            if (freeSize < N字节)
            {
                do warning
              
            }
#endif
复制代码

#include <sys/statvfs.h>
int statvfs(const char *path, struct statvfs *buf);
int fstatvfs(int fd, struct statvfs *buf);

  • path 要获取磁盘信息的路径,只要是挂载到操作文件系统的路径即可。
  • fd 是已打开文件描述符,代表要获取磁盘信息的文件。
  • buf 指向一个statvfs结构,定义如下
复制代码
struct statvfs {
    unsigned long  f_bsize;    /* Filesystem block size 文件系统块大小 */
    unsigned long  f_frsize;   /* Fragment size 碎片大小 */
    fsblkcnt_t     f_blocks;   /* Size of fs in f_frsize units  */
    fsblkcnt_t     f_bfree;    /* Number of free blocks 空闲块数量 */
    fsblkcnt_t     f_bavail;   /* Number of free blocks for
                                             unprivileged users 非特权用户的空闲块数量 */
    fsfilcnt_t     f_files;    /* Number of inodes i节点数量 */
    fsfilcnt_t     f_ffree;    /* Number of free inodes 空闲i节点数量 */
    fsfilcnt_t     f_favail;   /* Number of free inodes for
                                             unprivileged users 非特权用户的空闲i节点数量 */
    unsigned long  f_fsid;     /* Filesystem ID 文件系统id */
    unsigned long  f_flag;     /* Mount flags  挂载标识 */
    unsigned long  f_namemax;  /* Maximum filename length 最大文件名长度 */
};
复制代码

 



posted on   邗影  阅读(7)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示