您的位置:

udevadm全面解析

udevadm是一个非常有用的Linux命令行工具,用于管理Linux内核设备。它可以用于设备管理、调试、错误跟踪和系统控制等方面。在本文中,我们将详细讨论udevadm及其相关命令的用法和功能。

一、udevadm命令

udevadm是Linux系统中udev工具集中的一部分,可以管理Linux内核中的设备。您可以使用udevadm命令列出当前系统上已检测到的设备、查看设备属性、监视系统级别的设备事件、以及手动模拟设备事件等。

1.查看已检测到的设备

通过udevadm命令可以查看当前系统中已经检测到的所有设备和其属性信息,您可以在命令行中输入以下命令:

  $ udevadm info --query=all --name=/dev/sda

该命令将输出与名为sda的设备相关的所有信息。 同样,您可以使用以下命令查看所有已检测到的设备:

  $ udevadm info --query=all --name=/sys/devices/*

2.查看设备属性

您还可以使用udevadm命令查看设备的特定属性。使用以下命令,查看指定设备的serial属性:

  $ udevadm info --attribute-walk --name=/dev/sda | grep serial

如果要查看所有设备的serial属性,可以运行以下命令:

  $ udevadm info --attribute-walk --name=/dev/* | grep serial

3.监视设备事件

udevadm还允许您监视系统中的设备事件。可以通过以下命令启用实时监视:

  $ udevadm monitor

该命令将显示系统中发生的所有设备事件,并实时更新事件列表。如果要监视更广泛的事件,您可以使用静态监视器

  $ udevadm monitor --kernel

二、udevadm settle

udevadm settle命令是与udev设备监视和管理系统紧密相关的命令,它主要用于等待udev监视系统完成某些特定的任务。

1.等待udev完成设备创建

udevadm settle 命令还可以用于等待udev监视系统完成设备的创建。 在使用udevadm settle命令等待udev创建设备时,您可能需要使用以下命令:

  $ udevadm settle --timeout=20

2.等待udev完成加载内核模块

udevadm settle还可以用于等待udev加载必要的内核模块。 以下命令用于等待udev加载必要的内核模块:

  $ udevadm settle --timeout=30 --exit-if-exists=sr_mod

三、udevadm info

udevadm info命令用于查看与给定设备关联的所有属性。

1.查看与设备关联的所有属性

输入以下命令,查看与给定设备关联的所有属性:

  $ udevadm info --attribute-walk -n /dev/sda

该命令将显示与/dev/sda关联的所有属性。

2.查看与设备关联的指定属性

您还可以查看与设备关联的特定属性。使用以下命令,查看指定设备的serial属性:

  $ udevadm info --attribute-walk --name=/dev/sda | grep serial

如果要查看所有设备的serial属性,可以运行以下命令:

  $ udevadm info --attribute-walk --name=/dev/* | grep serial

四、udevadm trigger

udevadm trigger命令用于触发设备事件。使用该命令,您可以手动模拟设备插入、移除等事件, 从而触发udev事件机制的执行。

1.手动模拟设备插入

以下命令用于手动模拟设备插入:

  $ udevadm trigger --action=add --subsystem-match=usb

此命令将尝试查找USB设备并向udev系统添加这个设备。

2.手动模拟设备移除

以下命令用于手动模拟设备移除:

  $ udevadm trigger --action=remove --subsystem-match=usb

此命令将尝试查找USB设备并从udev系统中删除这个设备。

五、总结

udevadm是Linux系统中非常重要的工具之一,它可以用于管理Linux内核中的设备,还可以用于构建更可靠的设备识别策略。 在本文中,我们介绍了udevadm及其相关命令的用法和功能。希望这篇文章可以帮助您更好的理解udevadm以及其相关命令的工作原理和用法。