当前位置: 技术问答>linux和unix
程序实现:如何在/dev目录下找到本机的设备文件名,比如/dev/hda
来源: 互联网 发布时间:2016-06-06
本文导语: 大家好, 我有个小程序,功能就是去获取机器上的硬件序列号.包括硬盘,CPU序列号,MAC地址等。 不满意的地方是:在获取硬盘号的时候是使用指定文件名的, char *devname = "/dev/hda"; 假如现在机器上的硬盘文件名叫做...
大家好,
我有个小程序,功能就是去获取机器上的硬件序列号.包括硬盘,CPU序列号,MAC地址等。
不满意的地方是:在获取硬盘号的时候是使用指定文件名的, char *devname = "/dev/hda";
假如现在机器上的硬盘文件名叫做 hdb或hdc,程序就不能正常工作了。而且这个硬盘的文件名还有可能叫其它名字,
在代码中一般不推荐去穷举它。那么有什么好点的办法可以获取设备文件名呢?
我想linux是不是有个管理设备文件的表,这个表里面存有设备文件属性--设备文件名的对应关系,我访问其可以通过属性得到文件名。。。
或者是别的机制,请大家帮忙,有什么好办法或者资料的。我找了半天了,
我有个小程序,功能就是去获取机器上的硬件序列号.包括硬盘,CPU序列号,MAC地址等。
不满意的地方是:在获取硬盘号的时候是使用指定文件名的, char *devname = "/dev/hda";
假如现在机器上的硬盘文件名叫做 hdb或hdc,程序就不能正常工作了。而且这个硬盘的文件名还有可能叫其它名字,
在代码中一般不推荐去穷举它。那么有什么好点的办法可以获取设备文件名呢?
我想linux是不是有个管理设备文件的表,这个表里面存有设备文件属性--设备文件名的对应关系,我访问其可以通过属性得到文件名。。。
或者是别的机制,请大家帮忙,有什么好办法或者资料的。我找了半天了,
|
用命令 fdisk -l | grep -i linux 就可以得到嘛:
[root@test1 ~]# fdisk -l|grep -i linux
/dev/sda7 5739 5763 200781 83 Linux
/dev/sda8 5764 7781 16209553+ 8e Linux LVM
[root@test1 ~]#