我对Linux编程非常陌生。
我的问题是:
我找到了一些命令sudo vol_id --uuid /dev/sda1
,sudo blkid
和ls -l /dev/disk/by-uuid/
。但所有这些都是需要在终端中运行的命令。但我需要从C / C ++程序中实现这一点。
有人可以帮我解决这个问题。 (仅供参考:我需要读取已安装Linux的根文件系统(“/”)的UUID。)
提前谢谢。
答案 0 :(得分:1)
一般方法是:
/etc/mtab
找出您所使用的设备
/dev/disks/by-uuid
目录(使用opendir/readdir/closedir
)并找到指向该设备的目录。
请参阅readlink
函数以获取符号链接的目标。您将找到大量代码示例,用于解析此站点上的文本文件或您最喜欢的搜索引擎。
答案 1 :(得分:0)
由于blkid
已经做到了,你也可以看看它是如何工作的并且可以解决问题,如果你遵守util-linux的许可证(GPLv2)。