我有一个连接到集线器的 USB 闪存驱动器。其在sysfs中的存储设备分区devpath为/devices/pci0000:00/0000:00:12.2/usb6/6-1/6-1.2/6-1.2:1.0/host10/target10:0:0/10:0:0:0/block/sdb/sdb1
。我想检索相应的USB设备路径(即/devices/pci0000:00/0000:00:12.2/usb6/6-1/6-1.2
,甚至更好/sys/bus/usb/devices/6-1.2
)。我将使用某种脚本语言(shell、python 等)为插入 PC 的任何设备执行此操作。编辑:我从 udev 获取原始分区的 devpath,我需要将其追溯到 USB 设备条目。
最简单和愚蠢的方法是向上导航路径,直到 6-1.2 条目。但它有一些严重且明显的缺点。首先,设备可能连接到集线器,也可能未连接到集线器,因此它的 devpath 可能会改变。其次,设备可能有也可能没有分区,这也会改变 devpath。我还需要一个通用的解决方案,而不仅仅是针对 6-1.2 设备。
显然,目录中没有指向实际设备条目的符号链接.../block/sdb/sdb1
。有没有什么优雅的方法可以实现我想要的功能?