一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 目录结构中 dev 目录管理什么设备

时间:2026-09-04 17:59:47 编辑:袖梨 来源:一聚教程网

/dev目录管理硬件与虚拟设备文件,供程序通过标准文件操作与内核交互;块设备支持随机读写(如/dev/sda),字符设备按字节流传输(如/dev/tty1),虚拟设备提供特殊功能(如/dev/null);设备节点由devtmpfs和udev自动管理,ls -l可依首字符区分类型。

/dev 目录管理的是系统中所有可被访问的硬件设备和虚拟设备,它们统一以“设备文件”的形式存在,供用户空间程序通过标准文件操作(如 open、read、write)与内核驱动交互。

物理硬件设备

包括实际连接的存储、输入输出及通信类设备:

  1. 块设备:硬盘(/dev/sda)、SSD(/dev/nvme0n1)、U盘、光驱(/dev/cdrom)、RAID阵列(/dev/md0)等,支持随机读写和数据缓存;
  2. 字符设备:串口(/dev/ttyS0)、终端(/dev/tty1)、键盘/鼠标事件接口(/dev/input/event0)、帧缓冲(/dev/fb0)等,按字节流顺序传输,响应实时;
  3. 其他物理接口:并口(/dev/lp0)、软驱(/dev/fd0)、内存设备(/dev/ram0)、回环设备(/dev/loop0)等。

内核提供的虚拟设备

不对应真实硬件,而是由内核实现的特殊功能接口:

  1. /dev/null:丢弃所有写入数据,读取时立即返回 EOF;
  2. /dev/zero:持续提供 ASCII NUL 字节(0x00),常用于初始化或填充;
  3. /dev/random/dev/urandom:生成加密安全或非阻塞的随机字节流;
  4. /dev/console/dev/tty/dev/pts/*:用于进程控制台与伪终端会话管理。

设备节点的动态来源

现代 Linux 不再依赖手动创建,而是由内核子系统自动管理:

  1. 启动或热插拔时,内核通过 devtmpfs 在内存中生成初始设备节点;
  2. udev 守护进程监听内核事件,根据规则重命名、设置权限、建立符号链接(如 /dev/cdrom → /dev/sr0);
  3. 用户通常无需干预,但调试或特殊场景下仍可用 mknod 手动创建(需 root 权限)。

识别设备类型的方法

执行 ls -l /dev 可直观区分:

  1. 首字符为 b 表示块设备(如 brw-rw---- 1 root disk 8, 0 /dev/sda);
  2. 首字符为 c 表示字符设备(如 crw-rw---- 1 root tty 5, 0 /dev/tty1);
  3. 主设备号(逗号前)标识驱动类型,次设备号(逗号后)标识具体实例。

热门栏目