我需要找到一种检索 USB 设备的 ID 和安装位置的方法。我发现两个命令可以满足我的需求,但我还没有找到如何将它们关联起来。
rsm@matrice:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module
Bus 001 Device 004: ID 187c:0521 Alienware Corporation
Bus 001 Device 011: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 002 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
rsm@matrice:~$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 898G 506G 346G 60% /
udev 10M 0 10M 0% /dev
tmpfs 998M 744K 997M 1% /run
/dev/mapper/matrice-root 898G 506G 346G 60% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 752K 2.0G 1% /run/shm
/dev/sda1 228M 20M 197M 10% /boot
/dev/sdc1 7.7G 170M 7.5G 3% /media/New Volume
dmesg
我一直在尝试与像or这样的命令建立关系,lsusb
但我还没有找到如何做到这一点! (如果可以在没有长日志的情况下完成那就太好了,因为它会减慢我的程序)
编辑:@don_crissti 的答案很棒,这可以轻松完成lsblk -lo
答案1
因此,假设您的设备位于/dev/sdc
尝试一个ls -la /sys/dev/block/* | grep sdc
这应该是一个好的开始。
不过,我会说这Bus 001 Device 011: ID 058f:6387 Alcor Micro Corp. Flash Drive
看起来很可疑:)
另外,请记住,sdX
由于udev
.所以你可能很难做出一个持续的脚本。
我建议你看看编写 udev 规则。这里是一个初学者,它已经过时了,但它会有所帮助。