当前位置: 首页 > 面试题库 >

如何在Linux中以编程方式获取目录的可用磁盘空间

艾翼
2023-03-14
问题内容

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


问题答案:

校验 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 */
           };


 类似资料:
  • 问题内容: 我有以下目录布局: src main Java resources SQL (database script) Spring (configuration) network application 在ServletContextListener类中,我想访问SQL目录下的文件并列出它们。基本上我的问题是路径,因为我知道简而言之列出目录下的文件是: 也许我可以使用Object尝试建立路径

  • 我有以下目录布局: src 主 Java 资源 SQL(数据库脚本) Spring(配置) 是否存在以相对的、非硬编码的方式设置该路径的方法?类似于(如果可能,最好是spring)或如何使用servletContext来指向?

  • 问题内容: 基本上,我需要输出,其中包括可用空间和卷的总大小。该解决方案需要在Windows,Linux和Mac上运行并使用Go编写。 我浏览了和Go文档,但没有发现任何东西。在Windows上,即使命令行实用程序也很笨拙()或需要提升的特权()。当然有一种方法我还没有发现… 更新: 根据nemo的回答和邀请,我提供了一个跨平台的Go软件包来执行此操作。 问题答案: 在POSIX系统上,可以使用。

  • 问题内容: 我可以使用来获取堆末尾的地址,但是除了解析内容之外,有什么方法可以以编程方式获取堆头的地址吗? 问题答案: 我认为解析是Linux上找到堆段的唯一可靠方法。并且不要忘记某些分配器(包括我的SLES中的分配器)确实用于大块,因此内存不再是堆的一部分,可以位于任何随机位置。 否则,通常添加一个符号,该符号标记elf中所有段的结尾,并且该符号称为。例如: 它与elf 的末尾(传统上是elf

  • 本文向大家介绍linux 使用NSF 映射远程磁盘目录的实现,包括了linux 使用NSF 映射远程磁盘目录的实现的使用技巧和注意事项,需要的朋友参考一下 假设源目录在192.168.1.1机器上,目录为/data 客户端集群在192.168.1.2, 需要将192.168.1.1机器上的/data目录到本地的/data目录 1、在两台机器上安装nsf 、 portmap yum  install

  • 问题内容: 我正在尝试输出文件系统上的可用磁盘空间量。 如果我运行该命令,则可以通过以人为本并实际查看它来获得有关可用磁盘空间(以kb为单位)的良好信息。 我需要获取这些数据,并在我的shell脚本中的其他地方使用它。我最初考虑使用,但后来我的脚本无法移植到其他磁盘上,因为可用磁盘空间会发生变化,剪切将不会产生准确的结果。 如何仅获得示例的可用磁盘空间(以kb为单位)的输出? 问题答案: 要获取以