5. udev

过去,如果你真的想,你可以使用以下命令创建设备节点:

mknod /dev/sdb1 b 8 3

此命令将创建一个设备节点 /dev/sdb1,并将其设置为块设备 (b),主设备号为 8,次设备号为 3。

要删除设备,你只需在 /dev 目录中 rm 该设备文件。

幸运的是,由于 udev,我们现在真的不需要这样做。udev 系统会根据设备是否连接动态地为我们创建和删除设备文件。系统上运行着一个 udevd 守护进程,它监听来自内核的关于连接到系统的设备的消息。Udevd 将解析这些信息,并将数据与 /etc/udev/rules.d 中指定的规则进行匹配。根据这些规则,它很可能会为设备创建设备节点和符号链接。你可以编写自己的 udev 规则,但这超出了本课程的范围。幸运的是,你的系统已经附带了许多 udev 规则,所以你可能永远不需要编写自己的规则。

你还可以使用 udevadm 命令查看 udev 数据库和 sysfs。这个工具非常有用,但有时会变得非常复杂。查看设备信息的简单命令是:

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

登录以保存您的学习进度

登录

练习

熟能生巧!以下是一些动手实验,以加强你对 Linux 中硬件交互和设备管理的理解:

  1. 探索 Linux 中的硬件设备 - 在此实验中,你将学习在 Linux 环境中探索、识别和检查硬件设备的基本技能。你将获得使用强大的命令行实用程序来理解操作系统如何与物理组件交互的实践经验,这对于理解设备节点和 udev 的作用至关重要。

此实验将帮助你在实际场景中应用概念,并增强对 Linux 硬件管理的信心。

测验

什么动态地添加和移除设备?