我对Linux编程非常陌生。
我的问题是:
我发现一些命令sudo vol_id --uuid /dev/sda1
, sudo blkid
和ls -l /dev/disk/by-uuid/
。 但是他们都是需要在terminal上运行的命令。 但是我需要从C / C ++程序来实现。
有人能帮我解决这个问题吗? (仅供参考:我需要读取已安装Linux的根文件系统(“/”)的UUID。)
先谢谢你。
一般的做法是:
/etc/mtab
来找出你的设备 /dev/disks/by-uuid
目录(使用opendir/readdir/closedir
)并找到哪一个指向该设备。 请参阅readlink
函数以获取符号链接的目标。 你会发现很多代码示例来解析这个网站上的文本文件或者你喜欢的搜索引擎。
既然blkid
已经做到了, 如果遵守util-linux的许可证(GPLv2),你也可以看到它是如何工作的,并且偷走了解决方案。