设备文件
此页由Linux Wiki用户Chenxing于2012年6月23日 (星期六) 00:59的最后更改。
出自Linux Wiki
提示:此文已超过 12 年(4535 天)未更新,如发现内容过时或有误,欢迎改进:)
Linux中的设备都以文件形式存在于/dev中,内核文档对其做了详尽的介绍[1],国内也有翻译文档[2]。本文只摘录较常用的设备。
常用设备
按照Linux的文件类型概念,设备文件分为字符设备文件和块设备文件。下面对两类设备文件中较常用的分别做介绍,设备号可以使用ls -l /dev看到。
主设备号 | 次设备号 | 文件名 | 简介 |
---|---|---|---|
1 | 1 | /dev/mem | 访问物理内存 |
2 | /dev/kmem | 访问经内核映射后的内存(Kernel Virtual Memory) | |
3 | /dev/null | 空设备。写入该设备的信息将被直接丢弃,读取都将得到EOF。 | |
4 | /dev/port | 访问I/O端口 | |
5 | /dev/zero | 产生null(0x00)字节序列 | |
7 | /dev/full | 对该设备的写操作将导致ENOSPC(无剩余空间)错误。可用于测试磁盘空间满时程序的行为(见/dev/full) | |
8 | /dev/random | 随机数产生器。Linux中可依据系统的环境噪声产生真随机数,故速度很慢([3]) | |
9 | /dev/urandom | 更快但不够安全的随机数发生器 | |
2 | * | /dev/ptyp* | 伪终端,Pseudo-TTY masters |
3 | * | /dev/ttyp* | 伪终端,Pseudo-TTY slaves |
4 | 0-63 | /dev/tty0-63 | 虚拟控制台 |
64-255 | /dev/ttyS0-191 | UART串口 | |
5 | 0 | /dev/tty | 当前的TTY设备 |
1 | /dev/console | 当前的控制台设备 | |
6 | * | /dev/lp* | 并口打印机 |
10 | 0-15 | /dev/psaux等 | 非串口的各种鼠标 |
175 | /dev/fuse | Fuse | |
13 | 0,1.. | /dev/js0,1.. | Joystick |
32,33.. | /dev/mouse0,1.. | 鼠标 | |
63 | /dev/mice | 统一了的鼠标 | |
64,65.. | /dev/input/event0,1.. | 事件队列 | |
14 | OSS(Open Sound System)设备,如mixer等 |
主设备号 | 次设备号 | 文件名 | 简介 |
---|---|---|---|
1 | * | /dev/ram* | ramdisk |
2 | * | /dev/fd* | 软驱 |
3 | 0 | /dev/hda | 第一个主IDE设备,如硬盘或光驱 |
64 | /dev/hdb | 第一个从IDE设备 | |
1 | /dev/hda1 | hda的第一个分区 | |
... | |||
63 | /dev/hda63 | hda的第63个分区 | |
4 | 0 | /dev/root | 根文件系统以只读方式挂载时使用该设备作为动态分配的主(major)设备的别名 |
7 | * | /dev/loop* | loop设备,用于挂载在非块设备上的文件系统,如ISO格式的虚拟光驱文件。 |
8 | 0 | /dev/sda | 第一个SCSI磁盘(USB硬盘、SATA硬盘都按SCSI处理) |
16 | /dev/sdb | 第二个SCSI磁盘(正因如此,最多只支持SCSI设备上15个分区) | |
11 | * | /dev/scd* | SCSI光驱 |
22 | 0,64 | /dev/hdc,d | 第二个主、从IDE设备 |
其它常见文件
/dev还有一些文件,它们并不是设备,而是符号链接等。
下表列出了与标准输入输出的一些符号链接文件:
软链接名 | 目的地 | 说明 |
---|---|---|
/dev/fd | /proc/self/fd | 文件描述符 |
/dev/stdin | fd/0 | 文件描述符(标准输入) |
/dev/stdout | fd/1 | 文件描述符(标准输出) |
/dev/stderr | fd/2 | 文件描述符(标准错误输出) |
参考资料
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。