我目前正在编写程序,该程序必须显示有关已安装闪存驱动器的信息。我想显示完整空间、可用空间、文件系统类型和卷名称。但问题是,我找不到任何可以获取卷名称(卷标签)的 API。有没有API可以做到这一点?
附:我通过 statfs 函数获取的完整空间、可用空间和文件系统类型
最佳答案
假设您使用最新的类似桌面的发行版(Fedora、Ubuntu 等),您将运行 HAL 守护进程和 D-Bus session 。
在org.freedesktop.UDisks
命名空间中,您可以找到代表此驱动器的对象(例如org/freedekstop/UDisks/devices/sdb/
。它实现org.freedesktop.UDisks.interface
。该接口(interface)拥有您能想到的所有属性,包括 UUID (IdUuid
)、FAT 标签 (IdLabel
) ,有关文件系统、SMART 状态(如果驱动器支持)等的所有详细信息。
如何在 C 中使用 D-Bus API 是另一个问题的主题。我想这已经被详细讨论过——只需搜索 [dbus] 和 [c] 标签即可。
关于c - 如何使用C在Linux中获取已安装驱动器的卷名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5548060/