我知道您可以编写自定义 udev 规则来在 /dev 目录中创建符号链接。
但是 /dev 中的符号链接有什么用呢?
符号链接链接到什么?
我知道您可以与 /dev 目录中的常规链接进行交互,但不了解符号链接的作用。
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0461", ATTRS{idProduct}=="4d81", SYMLINK+="myusb"
答案1
通常是提供一个已知的固定路径名来访问设备;/dev/mydevice
是固定的,但根据插入的顺序,它可能是/dev/ttyUSB0
或/dev/ttyUSB1
或/dev/ttyUSB2
或...
这对于可以呈现多个端点的设备非常有用;例如,我有一个 USB HUBZ 设备,它提供 zigbee 和 zwave 端点。这些规则创建易于使用的名称
SUBSYSTEM=="tty", ATTRS{interface}=="HubZ Z-Wave Com Port", SYMLINK+="zwave"
SUBSYSTEM=="tty", ATTRS{interface}=="HubZ ZigBee Com Port", SYMLINK+="zigbee"
就我而言,我还有多台打印机,所以规则
#Rules for Terow printer
KERNEL=="lp*" ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5011", MODE="0666", SYMLINK+="lp_receipt"
现在我可以这样做cat file > /dev/lp_receipt
,它会打印出来,我不需要知道它是真的/dev/usb/lp0
还是/dev/usb/lp1
.
创建的符号指向“真实”条目;
lrwxrwxrwx 1 root root 7 Sep 8 12:17 /dev/lp_receipt -> usb/lp1