Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
我正在尝试确定一个USB存储设备(U盘)是否安装在Linux发行版(修改后的Ubuntu10.04)上。
目前,我使用lsusb-v命令并对其进行解析,以获得我感兴趣的USB设备的总线、设备和ID。
总线:001设备:008 ID 0781:5560 Sandisk公司
是的。……
理想情况下,我希望能够使用从lsusb-v获得的数据来确定该usb是否已安装。
我从来没有真正在这个领域摆弄过(它只是在我的膝盖上结束了)任何指针都是值得赞赏的。我浏览过这里和其他网站,学到了一些有趣的东西,但没有什么能让我更进一步。我可以在/proc/mount中看到USB已安装,但无法将我从带有LSUSB的设备中获取的信息与在cat/proc/mount中获取的信息相匹配,因为这将构成应用程序的一部分,我需要能够彼此匹配。
仅供参考:应用程序是用python编写的,我受到了不能使用pyusb等外部库的限制。如我所说,任何指点/帮助都将不胜感激。
干杯

最佳答案

我的建议是使用lsusbdmesg命令来确定USB设备是否已安装。
这是我的ubuntu机器的lsusbdmesg的输出示例。dmesg的输出包括lsusb报告的设备号和产品/供应商信息。

dbala@ubuntu:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 005: ID 0781:5530 SanDisk Corp. Cruzer U3 4gb SDCZ36

dbala@ubuntu:~$ dmesg | tail
[1084707.969418] usb 1-1: new high speed USB device number 5 using ehci_hcd
[1084708.119662] scsi5 : usb-storage 1-1:1.0
[1084709.120841] scsi 5:0:0:0: Direct-Access     SanDisk  Cruzer           1.19 PQ: 0   ANSI: 5
[1084709.125158] sd 5:0:0:0: Attached scsi generic sg2 type 0
[1084709.130677] sd 5:0:0:0: [sdb] 31266816 512-byte logical blocks: (16.0 GB/14.9 GiB)
[1084709.138819] sd 5:0:0:0: [sdb] Write Protect is off
[1084709.138821] sd 5:0:0:0: [sdb] Mode Sense: 43 00 00 00
[1084709.146812] sd 5:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1084709.186467]  sdb: sdb1
[1084709.215365] sd 5:0:0:0: [sdb] Attached SCSI removable disk
dbala@ubuntu:~$

10-08 19:15