udevadm 命令 是 Linux 中的一个设备管理工具,用于管理所有设备事件并控制 udevd 守护进程。 开发者 规则是用 .rules 文件定义的 /usr/lib/udev/rules.d
在本文中,我们将了解 乌德瓦姆 在 Linux 中借助示例。
udevadm 命令的语法
的语法 udevadm
命令:
udevadm [--debug] [--version] [--help] udevadm info options udevadm trigger [options] udevadm settle [options] udevadm control command udevadm monitor [options] udevadm test [options] devpath
如何使用 udevadm 命令监控设备?
udevadm
从设备插入系统的那一刻起一直监控设备,直到它从系统中拔出。
监视设备所有事件的语法:
udevadm monitor
在上图中,您可以看到 udevadm
工具正在监控与设备相关的所有事件。 现在,如果我们插入一个设备,您可以看到它在您的终端会话中输出这些事件。
如何使用 udevadm 列出设备的所有属性?
udevadm info
命令用于列出所有设备属性。
列出设备所有设备属性的语法 sr0
:
udevadm info -a -p /block/sr0
这 -一种 选项用于打印所有 sysfs
属性,以及 -p 选项用于定义开发路径。
使用 udevadm 编写 udev 规则并应用它们而无需重新启动
首先,我们需要找到 ENV{PRODUCT}
通过执行:
udevadm monitor --kernel --property --subsystem-match=usb
,然后连接您的设备。
现在让我们写一个新的 udev
统治 /usr/lib/udev/rules.d
叫 91-keyboard.rules
到 echo
使用文本编辑器连接键盘时在终端中。
sudo nano /usr/lib/udev/rules.d/91-keyboard.rules
然后添加以下代码来回显消息:
ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="1a2c/4c5e/110", RUN+="/bin/sh /home/suryansh/keyboard.sh"
然后,添加 sh
使用您喜欢的文本编辑器在上述位置编写脚本:
echo "Keyboard connected!" > /home/suryansh/keyboard.log
授予执行权限 chmod
命令:
sudo chmod +x /home/suryansh/keyboard.sh
的语法 udevadm control
应用更改。:
sudo udevadm control --reload
udevadm control
用于修改规则 udevd
守护进程。
每当您连接该设备时,它都会运行 sh keyboard.sh
和写 keyboard.log
在同一个目录中。
因此,当您使用 cat 命令时:
cat keyboard.log
您应该看到以下输出:
[email protected]:~$ cat keyboard.log Keyboard connected!
如何使用 udevadm 测试 udev 规则?
这 udevadm test
命令用于测试终端中的 udev 规则。
测试设备的 udev 规则的语法:
udevadm test $(udevadm info -q path -n <device>)
结论
udevadm
是一个非常方便的管理工具 udev rules
在 Linux 中,它在所有 Linux 发行版中都可用。 您可以找到更深入的概述 udevadm
命令在这里。
感谢您的阅读!