udevdm命令详解
udevadm 后接一个命令和命令指定选项。它控制了udev运行的行为,处理内核事件,控制事件队列,并且提供简单的调试机制。
选项:
--debug 打印错误信息
--version 打印版本信息
--help 帮助文档
udevadm info options 查询udev数据库中的设备信息。也可以从sysfs文件系统中查询到设备的属性以辅助创建udev规则。
--query=type 从数据库中查询指定类型的设备。需要--path和--name来指定设备。合法的查询文件是:设备名,链接,路径,属性
--path=devpath 设备的路径
--name=file 设备节点或者链接
--attribute-walk 打印指定设备的所有sysfs记录的属性,以用来udev规则匹配特殊的设备。该选项打印链上的所有设备信息,最大可能到sys目录。
--device-id-of-file=file 打印主/从设备号
--export-db 输出udev数据库中的内容
udevadm trigger [options] 接收内核发送来的设备事件。主要用于重放coldplug事件信息
(译者补充:内核在启动时已经检测到了系统的硬件设备,并把硬件设备信息通过sysfs内核虚拟文件系统导出。udev扫描sysfs文件系统,根据硬件设备信息生成热插拔(hotplug)事件,udev再读取这些事件,生成对应的硬件设备文件。由于没有实际的硬件插拔动作,所以这一过程被称为coldplug。)
--verbose 输出将要被触发的设备列表。
--dry-run 不真的触发事件
--type=type 触发一个特殊的设备。合法的类型:devices,subsystem,failed.默认是devices
--action=action 被触发的事件,默认是change
--subsystem-match=subsystem 触发匹配子系统的设备事件。这个选项可以被多次指定,并且支持shell模式匹配。
--attr-match=attribute=value 触发匹配sysfs属性的设备事件。如果属性值和属性一起指定,属性的值可以使用shell模式匹配。如果没有指定值,会重新确认现有属性。这个选项可以被多次指定。
--attr-nomatch=attribute=value 不要触发匹配属性的设备事件。如果可以使用模式匹配。也可以多次指定
--property-match=property=value 匹配属性吻合的设备。可以多次指定支持模式匹配
--tag-match=property 匹配标签吻合的设备。可以多次指定。
--sysname-match=name 匹配sys设备名相同的设备。可以多次指定支持模式匹配。
udevadm settle [options] 查看udev事件队列,如果所有事件全部处理完就退出。
--timeout=seconds 等待事件队列空的最大时间。默认是180秒。如果是0则立即退出。
--seq-start=seqnum 只等待到给定的顺序号。
--seq-end=seqnum 只等待到给定顺序号之前。
--exit-if-exists=file 如果文件存在就退出
--quiet 不输出任何信息
udevadm monitor [options] 监听内核事件和udev发送的events事件。打印事件发出的设备。可以通过比较内核或者udev事件的时间戳来分析事件时序。
--kernel 输出内核事件
--udev 输出udev规则执行时的udev事件
--property 输出事件的属性
--subsystem-match=string 通过子系统或者设备类型过滤事件。只有匹配了子系统值的udev设备事件通过。
--tag-match=string 通过属性过滤事件,只有匹配了标签的udev事件通过。
udevadm test [options] devpath 模拟一个udev事件,打印出debug信息。