使用 udev 规则将符号链接添加到 /dev 目录的原因是什么?

使用 udev 规则将符号链接添加到 /dev 目录的原因是什么?

我知道您可以编写自定义 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

相关内容