有没有函数可以返回给定目录路径的驱动器分区上的可用空间?

推荐答案

man statvfs(2)元支票

我相信你可以计算"自由空间"为f_bsize * f_bfree.

NAME
       statvfs, fstatvfs - get file system statistics

SYNOPSIS
       #include <sys/statvfs.h>

       int statvfs(const char *path, struct statvfs *buf);
       int fstatvfs(int fd, struct statvfs *buf);

DESCRIPTION
       The function statvfs() returns information about a mounted file system.
       path is the pathname of any file within the mounted file  system.   buf
       is a pointer to a statvfs structure defined approximately as follows:

           struct statvfs {
               unsigned long  f_bsize;    /* file system block size */
               unsigned long  f_frsize;   /* fragment size */
               fsblkcnt_t     f_blocks;   /* size of fs in f_frsize units */
               fsblkcnt_t     f_bfree;    /* # free blocks */
               fsblkcnt_t     f_bavail;   /* # free blocks for unprivileged users */
               fsfilcnt_t     f_files;    /* # inodes */
               fsfilcnt_t     f_ffree;    /* # free inodes */
               fsfilcnt_t     f_favail;   /* # free inodes for unprivileged users */
               unsigned long  f_fsid;     /* file system ID */
               unsigned long  f_flag;     /* mount flags */
               unsigned long  f_namemax;  /* maximum filename length */
           };

Linux相关问答推荐

X86_64程序集中的分段故障:系统调用问题

如何知道进程组中的所有进程是否都已收集?

Linux-如何区分目录中名称相同但扩展名不同的所有文件

Docker运行错误:exec/app/backend/server:没有这样的文件或目录

动态链接ELF文件是否需要ELF节头表?

使用ansible配置Linux VM使用vmware_vm_shell模块时变成su?

在 bash 中获取目录或文件的基本名称的快速且正确的方法

根据文件名对目录中的文件进行 chgrp

如何在 AWS Linux 服务器上实现虚拟主机?

我可以阅读 Linux 内核的哪些部分以获得乐趣?

如何在 Linux 上捕获原始 HID 输入?

如何使用 AWK 合并两个文件?

在 64 位 Linux 操作系统上编译 32 位程序导致致命错误

如何在 Ubuntu 12.04 中更改 Jenkins 安装的端口号

NGINX:connect() 到 unix:/var/run/php7.0-fpm.sock 失败(2:没有这样的文件或目录)

ldconfig 错误:使用 Linux 加载程序时不是符号链接

/dev/random 非常慢?

如何使用cp从不同目录复制多个文件?

如何在我的终端中编辑文本文件

如何拖尾除第一行以外的所有行