![我的键盘、鼠标和其他 HCI 设备在 Linux 中安装在哪里?](https://linux22.com/image/879425/%E6%88%91%E7%9A%84%E9%94%AE%E7%9B%98%E3%80%81%E9%BC%A0%E6%A0%87%E5%92%8C%E5%85%B6%E4%BB%96%20HCI%20%E8%AE%BE%E5%A4%87%E5%9C%A8%20Linux%20%E4%B8%AD%E5%AE%89%E8%A3%85%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我听说 Linux 中的所有内容都被视为文件。我只是好奇在哪里可以找到安装在我的计算机上的 USB(HCI dev)
答案1
您可以通过以下命令获取连接到您机器的 USB 设备列表:
lsusb
您可以通过以下方式监控来自 USB 和其他设备的输入事件:
evtest
它还会告诉您设备路径(例如鼠标和键盘以及电源按钮等)/dev/input/event*
。您可能需要evtest
为此安装软件包。
这是一个脚本(取自这个答案在 Unix SE 上)搜索/sys
USB 设备(即具有 ID_SERIAL 属性的设备):
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
)
done
答案2
我假设您连接了 USB 设备。当您输入:
lsusb
您已列出已连接的 USB 设备。您可以读取总线和设备编号。然后当您输入:
lsusb -t
(从 lsusb 可以知道总线和设备号)您可以读取正在检查的设备的端口号。例如,我的鼠标在总线 001、设备 004 上,它属于端口 14。
现在当你去:
/sys/bus/usb/drivers/usb
您可以看到例如符号链接 1-14 负责我的鼠标(总线 1,端口 14)。您可以使用实际路径 1-14命令来查看此符号链接指向的位置
(您可以通过键入以下命令来禁用此端口:回显‘1-14’| sudo tee 解除绑定)