gpt4 book ai didi

c++ - 如何区分/proc/partitions 中的设备类型?

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:31 27 4
gpt4 key购买 nike

我想编写一个 C++ 函数,它可以为我提供机器(运行 Linux)中的硬盘驱动器列表,但我想过滤掉任何 USB 闪存驱动器。

当我读取/proc/partitions 时,我找到了 sda 和 sdb,但我认为这不足以区分主硬盘驱动器和 USB 闪存驱动器。有办法做到这一点吗?

谢谢!

最佳答案

您可以在以下位置使用符号链接(symbolic link):

/sys/block

例如,我有:

$ ll
...
sdb -> ../devices/pci0000:00/0000:00:0e.0/host1/target1:0:0/1:0:0:0/block/sdb
sde -> ../devices/pci0000:00/0000:00:0e.2/host5/target5:0:0/5:0:0:0/block/sde
sdf -> ../devices/pci0000:00/0000:00:0b.1/usb1/1-8/1-8:1.0/host8/target8:0:...
sr0 -> ../devices/pci0000:00/0000:00:0d.0/host6/target6:0:0/6:0:0:0/block/sr0
sr1 -> ../devices/pci0000:00/0000:00:0d.0/host6/target6:0:1/6:0:1:0/block/sr1

您可以很容易地在其中找到 USB 设备。

查看这些符号链接(symbolic link)指向的目录,那里也有很多有用的信息。

关于c++ - 如何区分/proc/partitions 中的设备类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397980/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com