Linux 设备类型主要分为 字符设备、块设备 和 网络设备 三大类,每种类型对应不同的硬件交互方式。以下是详细分类和说明:
/dev/tty*
)/dev/input/*
)/dev/ttyS*
)/dev/lp*
)/dev/snd/*
)bash
ls -l /dev/tty* # 查看字符设备
/dev/sd*
、/dev/nvme*
)/dev/sd*
)/dev/sda1
)/dev/sr0
)/dev/loop0
)bash
ls -l /dev/sd* # 查看块设备
stat -c "%t %T" /dev/sda # 查看设备的主/次设备号
/dev
下的设备节点,由内核直接管理。eth0
、ens33
)wlan0
)tun/tap
、veth*
)bash
ip link show # 查看网络设备
ifconfig -a # 传统方式查看(需安装 net-tools)
/dev/null
、/dev/zero
、/dev/random
)。lspci
查看)、USB 设备(lsusb
查看)。/dev/fuse
)。通过 ls -l /dev
查看:
c
(如 crw-rw----
)。b
(如 brw-rw----
)。ls -l /dev/sda /dev/tty1
brw-rw---- 1 root disk 8, 0 /dev/sda # 块设备
crw-rw---- 1 root tty 4, 1 /dev/tty1 # 字符设备
通过 stat
命令:
stat -c "%F" /dev/sda # 显示 "block special file"
通过 /proc/devices
:
cat /proc/devices # 查看已注册的字符/块设备
理解这些类型有助于系统调试(如 dmesg
查设备驱动问题)或开发底层驱动。