Linux内核能够识别的设备,对应源码中Documentation/devices.txt文件(转)

本文档详细介绍了Linux内核所能识别的各种设备,包括内存设备、虚拟控制台、SCSI磁盘、回环设备、USB设备等,以及它们对应的主设备号和次设备号。例如,/dev/null是空设备,/dev/sda代表第一个SCSI磁盘,/dev/loop0是第一个回环设备,而/dev/usb/hiddev0则是第一个USB人机界面设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://lamp.linux.gov.cn/Linux/device_files.html
----------------------------------------------------------------------
主设备号        设备类型
                次设备号=文件名          简要说明
----------------------------------------------------------------------

  0		未命名设备(例如:挂载的非设备)
		  0 = 为空设备号保留


  1 char	内存设备
		  1 = /dev/mem		直接存取物理内存
		  2 = /dev/kmem		存取经过内核虚拟之后的内存
		  3 = /dev/null		空设备。任何写入都将被直接丢弃,任何读取都将得到EOF。
		  4 = /dev/port		存取 I/O 端口
		  5 = /dev/zero		零字节源,只能读取到无限多的零字节。
		  7 = /dev/full		满设备。任何写入都将失败,并把errno设为ENOSPC以表示没有剩余空间。
		  8 = /dev/random	随机数发生器。完全由用户的输入来产生随机数。
					如果用户停止所有动作,则停止产生新的随机数。
		  9 = /dev/urandom	更快,但是不够安全的随机数发生器。尽可能由用户的输入来产生随机数,
					如果用户停止所有动作,则把已经产生的随机数做为种子来产生新的随机数。
		 10 = /dev/aio		异步 I/O 通知接口
		 11 = /dev/kmsg		任何对该文件的写入都将作为 printk 的输出


  1 block	RAM disk
		  0 = /dev/ram0		第1个 RAM disk (initrd只能使用ram0)
		  1 = /dev/ram1		第2个 RAM disk
		    ...
		200 = /dev/ram200	第200个 RAM disk


  4 char	TTY(终端)设备
		  0 = /dev/tty0		当前虚拟控制台
		  1 = /dev/tty1		第1个虚拟控制台
		    ...
		 63 = /dev/tty63	第63个虚拟控制台


  4 block	如果根文件系统以是以只读方式挂载的,那么就不可能创建真正的设备节点,
		此时就使用该设备作为动态分配的主(major)设备的别名
                  0 = /dev/root


  5 char	其他 TTY 设备
		  0 = /dev/tty		当前 TTY 设备
		  1 = /dev/console	系统控制台(一般是/dev/tty0)
		  2 = /dev/ptmx		所有 PTY master 的复用器


  7 char	虚拟控制台捕捉设备(这些设备既允许读也允许写)
		  0 = /dev/vcs		当前虚拟控制台(vc)的文本内容
		  1 = /dev/vcs1		tty1 的文本内容
		    ...
		 63 = /dev/vcs63	tty63 的文本内容
		128 = /dev/vcsa		当前虚拟控制台(vc)的文本/属性内容
		129 = /dev/vcsa1	tty1 的文本/属性内容
		    ...
		191 = /dev/vcsa63	tty63 的文本/属性内容


  7 block	回环设备(用一个普通的磁盘文件来模拟一个块设备)
		对回环设备的绑定由 mount(8) 或 losetup(8) 处理
		  0 = /dev/loop0	第1个回环设备
		  1 = /dev/loop1	第2个回环设备
		    ...


  8 block	SCSI 磁盘(0-15)
		  0 = /dev/sda		第1个 SCSI 磁盘(整个磁盘)
		 16 = /dev/sdb		第2个 SCSI 磁盘(整个磁盘)
		 32 = /dev/sdc		第3个 SCSI 磁盘(整个磁盘)
		    ...
		240 = /dev/sdp		第16个 SCSI 磁盘(整个磁盘)

		分区表示方法如下(以第3个 SCSI 磁盘为例)
		 33 = /dev/sdc1		第1个分区
		 34 = /dev/sdc2		第2个分区
		    ...
		 47 = /dev/sdc15	第15个分区
		对于Linux/i386来说,分区1-4是主分区,5-15是逻辑分区。


  9 block	Metadisk(RAID)设备
		  0 = /dev/md0		第1组 metadisk
		  1 = /dev/md1		第2组 metadisk
		    ...
		metadisk 驱动用于将同一个文件系统分割到多个物理磁盘上。


 10 char	非串口鼠标,各种杂项设备和特性
		  1 = /dev/psaux	PS/2鼠标
		131 = /dev/temperature	机器内部温度
		134 = /dev/apm_bios	APM(高级电源管理) BIOS
		135 = /dev/rtc		实时时钟(Real Time Clock)
		144 = /dev/nvram	非易失配置 RAM
		162 = /dev/smbus	系统管理总线(System Management Bus)
		164 = /dev/ipmo		Intel的智能平台管理(Intelligent Platform Management)接口
		173 = /dev/ipmikcs	智能平台管理(Intelligent Platform Management)接口
		175 = /dev/agpgart	AGP图形地址重映射表(Graphics Address Remapping Table)
		182 = /dev/perfctr	性能监视计数器
		183 = /dev/hwrng	通用硬件随机数发生器
		184 = /dev/cpu/microcode CPU微代码更新接口
		186 = /dev/atomicps	进程状态数据的原子快照
		188 = /dev/smbusbios	SMBus(系统管理总线) BIOS
		200 = /dev/net/tun	TAP/TUN 网络设备(TAP/TUN以软件的方式实现了网络设备)
					TAP模拟了以太网帧(第二层),TUN模拟了IP包(第三层)。
		202 = /dev/emd/ctl	增强型 Metadisk RAID (EMD) 控制器
		220 = /dev/mptctl	Message passing technology (MPT) control
		223 = /dev/input/uinput	用户层输入设备驱动支持
		227 = /dev/mcelog	X86_64 Machine Check Exception driver
		228 = /dev/hpet		HPET driver
		229 = /dev/fuse		Fuse(用户空间的虚拟文件系统)
		231 = /dev/snapshot	系统内存快照
		232 = /dev/kvm		基于内核的虚构机(基于AMD SVM和Intel VT硬件虚拟技术)


 11 block	SCSI CD-ROM 设备
		  0 = /dev/scd0		第1个 SCSI CD-ROM
		  1 = /dev/scd1		第2个 SCSI CD-ROM
		    ...


 13 char	核心输入设备
		 32 = /dev/input/mouse0		第1个鼠标
		 33 = /dev/input/mouse1		第2个鼠标
		    ...
		 62 = /dev/input/mouse30	第31个鼠标
		 63 = /dev/input/mice		所有鼠标的统一
		 64 = /dev/input/event0		第1个事件队列
		 65 = /dev/input/event1		第2个事件队列
		    ...
		 95 = /dev/input/event1		第32个事件队列


 21 char	通用 SCSI 设备(通常是SCSI光驱)
		  0 = /dev/sg0		第1个通用 SCSI 设备
		  1 = /dev/sg1		第2个通用 SCSI 设备
		    ...


 29 char	通用帧缓冲(frame buffer)设备
		  0 = /dev/fb0		第1个帧缓冲设备
		  1 = /dev/fb1		第2个帧缓冲设备
		    ...
		 31 = /dev/fb31		第32个帧缓冲设备


 30 char	iBCS-2 兼容设备
		  0 = /dev/socksys	套接字访问接口
		  1 = /dev/spx		SVR3 本地 X 接口
		 32 = /dev/inet/ip	网络访问接口
		 33 = /dev/inet/icmp
		 34 = /dev/inet/ggp
		 35 = /dev/inet/ipip
		 36 = /dev/inet/tcp
		 37 = /dev/inet/egp
		 38 = /dev/inet/pup
		 39 = /dev/inet/udp
		 40 = /dev/inet/idp
		 41 = /dev/inet/rawip

		此外,iBCS-2 还需要下面的连接必须存在
		/dev/ip -> /dev/inet/ip
		/dev/icmp -> /dev/inet/icmp
		/dev/ggp -> /dev/inet/ggp
		/dev/ipip -> /dev/inet/ipip
		/dev/tcp -> /dev/inet/tcp
		/dev/egp -> /dev/inet/egp
		/dev/pup -> /dev/inet/pup
		/dev/udp -> /dev/inet/udp
		/dev/idp -> /dev/inet/idp
		/dev/rawip -> /dev/inet/rawip
		/dev/inet/arp -> /dev/inet/udp
		/dev/inet/rip -> /dev/inet/udp
		/dev/nfsd -> /dev/socksys
		/dev/X0R -> /dev/null


 36 char	Netlink 支持
		  0 = /dev/route	路由, 设备更新, kernel to user
		  3 = /dev/fwmonitor	Firewall packet 复制


 59 char	sf 防火墙模块
		  0 = /dev/firewall	与 sf 内核模块通信


 65 block	SCSI 磁盘(16-31)
		  0 = /dev/sdq		第17个 SCSI 磁盘(整个磁盘)
		 16 = /dev/sdr		第18个 SCSI 磁盘(整个磁盘)
		 32 = /dev/sds		第19个 SCSI 磁盘(整个磁盘)
		    ...
		240 = /dev/sdaf		第32个 SCSI 磁盘(整个磁盘)


 66 block	SCSI 磁盘(32-47)
		  0 = /dev/sdag		第33个 SCSI 磁盘(整个磁盘)
		 16 = /dev/sdah		第34个 SCSI 磁盘(整个磁盘)
		 32 = /dev/sdai		第35个 SCSI 磁盘(整个磁盘)
		    ...
		240 = /dev/sdav		第48个 SCSI 磁盘(整个磁盘)


 89 char	I2C 总线接口
		  0 = /dev/i2c-0	第1个 I2C 适配器
		  1 = /dev/i2c-1	第2个 I2C 适配器
		    ...



 98 block	用户模式下的虚拟块设备(分区处理方式与 SCSI 磁盘相同)
		  0 = /dev/ubda		第1个用户模式块设备
		 16 = /dev/udbb		第2个用户模式块设备
		    ...


103 block	审计(Audit)设备
		  0 = /dev/audit	审计(Audit)设备


128-135 char	Unix98 PTY master

		这些设备不应当存在设备节点,而应当通过 /dev/ptmx 接口访问。


136-143 char	Unix98 PTY slave
		这些设备节点是自动生成的(伴有适当的权限和模式),不能手动创建。
		方法是通过使用适当的 mount 选项(通常是:mode=0620,gid=<"tty"组的gid>)
		将 devpts 文件系统挂载到 /dev/pts 目录即可。
		  0 = /dev/pts/0	第1个 Unix98 PTY slave
		  1 = /dev/pts/1	第2个 Unix98 PTY slave
		    ...


153 block	Enhanced Metadisk RAID (EMD) 存储单元(分区处理方式与 SCSI 磁盘相同)
		  0 = /dev/emd/0	第1个存储单元
		  1 = /dev/emd/0p1	第1个存储单元的第1个分区
		  2 = /dev/emd/0p2	第1个存储单元的第2个分区
		    ...
		 15 = /dev/emd/0p15	第1个存储单元的第15个分区

		 16 = /dev/emd/1	第2个存储单元
		 32 = /dev/emd/2	第3个存储单元
		    ...
		240 = /dev/emd/15	第16个存储单元


180 char	USB 字符设备
		 96 = /dev/usb/hiddev0	第1个USB人机界面设备(鼠标/键盘/游戏杆/手写版等人操作计算机的设备)
		    ...
		111 = /dev/usb/hiddev15	第16个USB人机界面设备


180 block	USB 块设备(U盘之类)
		  0 = /dev/uba		第1个USB 块设备
		  8 = /dev/ubb		第2个USB 块设备
		 16 = /dev/ubc		第3个USB 块设备
 		    ...


192 char	内核 profiling 接口
		  0 = /dev/profile	Profiling 控制设备
		  1 = /dev/profile0	CPU 0 的 Profiling 设备
		  2 = /dev/profile1	CPU 1 的 Profiling 设备
		    ...


193 char	内核事件跟踪接口
		  0 = /dev/trace	跟踪控制设备
		  1 = /dev/trace0	CPU 0 的跟踪设备
		  2 = /dev/trace1	CPU 1 的跟踪设备
		    ...


195 char	Nvidia 图形设备(比如显卡)
		  0 = /dev/nvidia0		第1个 Nvidia 卡
		  1 = /dev/nvidia1		第2个 Nvidia 卡
		    ...
		255 = /dev/nvidiactl		Nvidia 卡控制设备


202 char	特定于CPU模式的寄存器(model-specific register,MSR)
		  0 = /dev/cpu/0/msr		CPU 0 的 MSRs
		  1 = /dev/cpu/1/msr		CPU 1 的 MSRs
		    ...

203 char	CPU CPUID 信息
		  0 = /dev/cpu/0/cpuid		CPU 0 的 CPUID
		  1 = /dev/cpu/1/cpuid		CPU 1 的 CPUID
		    ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值