/dev/dm-0 ....(/dev/mapper机制)
阅读原文时间:2023年07月10日阅读:1

查看/dev下时候,会看到dm-xx的设备,那么这些设备到底是什么设备呢,

Device Mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,

在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,
当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、
dmraid(Device Mapper Raid Tool)等都是基于该机制实现的.

查看dm

[root@ht8 sd_mod]# ll /dev/dm*brw-rw---- 1 root disk 253, 0 Jan 5 19:39 /dev/dm-0brw-rw---- 1 root disk 253, 1 Jan 5 19:39 /dev/dm-1brw-rw---- 1 root disk 253, 10 Feb 23 19:20 /dev/dm-10brw-rw---- 1 root disk 253, 11 Feb 23 19:20 /dev/dm-11brw-rw---- 1 root disk 253, 12 Feb 23 19:20 /dev/dm-12brw-rw---- 1 root disk 253, 13 Feb 23 19:20 /dev/dm-13brw-rw---- 1 root disk 253, 14 Feb 23 19:21 /dev/dm-14brw-rw---- 1 root disk 253, 2 Feb 23 19:20 /dev/dm-2brw-rw---- 1 root disk 253, 3 Feb 23 19:20 /dev/dm-3brw-rw---- 1 root disk 253, 4 Feb 23 19:20 /dev/dm-4brw-rw---- 1 root disk 253, 5 Feb 23 19:20 /dev/dm-5brw-rw---- 1 root disk 253, 6 Feb 23 19:20 /dev/dm-6brw-rw---- 1 root disk 253, 7 Feb 23 19:20 /dev/dm-7brw-rw---- 1 root disk 253, 8 Feb 23 19:20 /dev/dm-8brw-rw---- 1 root disk 253, 9 Feb 23 19:20 /dev/dm-9
//b开头的,从cat /proc/devices 里面查看下
[root@ht8 sd_mod]# cat /proc/devicesCharacter devices:  //对应 /dev下的c打头的 1 mem 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 6 lp 7 vcs 9 st 10 misc 13 input 21 sg 29 fb 99 ppdev128 ptm136 pts162 raw180 usb188 ttyUSB189 usb_device202 cpu/msr203 cpu/cpuid226 drm245 aux246 hidraw247 usbmon248 bsg249 hmm_device250 watchdog251 iio252 rtc253 dax254 tpm
Block devices: //对应/dev/下b打头的设备259 blkext 7 loop 8 sd 9 md 11 sr 65 sd 66 sd 67 sd 68 sd 69 sd 70 sd 71 sd128 sd129 sd130 sd131 sd132 sd133 sd134 sd135 sd253 device-mapper254 mdp

dm实际对应的那些设备,一般都位于 /dev/mapper下面

这里有段英文:
when udev support is enabled in LVM, the /dev/mapper/ isa symlink to /dev/dm-X (this was chosen to comply with udev requirements)
https://listman.redhat.com/archives/linux-lvm/2010-July/msg00027.html

[root@ht8 sd_mod]# ll /dev/mapper
total 0
lrwxrwxrwx 1 root root 7 Jan 5 19:39 centos-root -> ../dm-0
lrwxrwxrwx 1 root root 7 Jan 5 19:39 centos-swap -> ../dm-1
crw------- 1 root root 10, 236 Jan 5 19:39 control
lrwxrwxrwx 1 root root 8 Feb 23 19:21 docker-253:0-135138821-18a265cfa6417eee03f5dd6a27aa4b0d2a5f68847de92753a4b2e8898965e5f9 -> ../dm-14
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-1e346ca7ac629e85b28b43247983c01647f050dd6ef9ba1f140942d520f142e1 -> ../dm-6
lrwxrwxrwx 1 root root 8 Feb 23 19:20 docker-253:0-135138821-202a7e731a43f9e184d9e56307edeb60062de3a5533336e4c62c2c0600a0fc72 -> ../dm-12
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-2c7da4e527f421da263f764d0fae9e453bd3855b7036197e6c0220240a8b08d2 -> ../dm-4
lrwxrwxrwx 1 root root 8 Feb 23 19:20 docker-253:0-135138821-2dc18f6625629ef021569be25a0d210f8b5cd0e5a8a81b269a2da628777337b9 -> ../dm-11
lrwxrwxrwx 1 root root 8 Feb 23 19:20 docker-253:0-135138821-32a1e85fe9f4c8eab9248b8ed8c1a8be4caf45436af329f323d30bf6a18dfee0 -> ../dm-13
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-5916d79c2cd54aa0d2432c8e7ec9f0f139c1ad588d38ddbd7e44fbeb8fde49f2 -> ../dm-5
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-9e7948852a96d7d4de0713d5a9e7fdb0cffe7c0de7daeea629663b58ad686897 -> ../dm-7
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-9e87d45d1387dec14300f5595d41d55e41d70a19cd7874a528167eb8cdf816b9 -> ../dm-9
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-bd1a50cb97f898c748f5fde1b993a81692281d4b928f0b18ea6f715f20d216a5 -> ../dm-8
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138821-c4a4cce6e6b1fe6d140d2e748c811cc72172dadcb8b29116cff30ad9772a552e -> ../dm-3
lrwxrwxrwx 1 root root 8 Feb 23 19:20 docker-253:0-135138821-d8239c845172063e489bfdf8dd3664ae90388bc636469ca56d2d6e39e5aef0f5 -> ../dm-10
lrwxrwxrwx 1 root root 7 Feb 23 19:20 docker-253:0-135138221-pool -> ../dm-2

[root@ht8 sd_mod]# dmsetup ls
docker-253:0-135138821-32a1e85fe9f0c8eab9248b8ed8c1a8be4caf45436af329f323d30bf6a18dfee0 (253:13)
docker-253:0-135138821-18a265cfa6407eee03f5dd6a27aa4b0d2a5f68847de92753a4b2e8898965e5f9 (253:14)
docker-253:0-135138821-bd1a50cb97f898c748f5fde1b993a81692281d4b928f0b18ea6f715f20d216a5 (253:8)
docker-253:0-135138821-9e87d45d1384dec14300f5595d41d55e41d70a19cd7874a528167eb8cdf816b9 (253:9)
docker-253:0-135138821-9e7948852a94d7d4de0713d5a9e7fdb0cffe7c0de7daeea629663b58ad686897 (253:7)
docker-253:0-135138821-1e346ca7ac6a9e85b28b43247983c01647f050dd6ef9ba1f140942d520f142e1 (253:6)
docker-253:0-135138821-2c7da4e527f521da263f764d0fae9e453bd3855b7036197e6c0220240a8b08d2 (253:4)
docker-253:0-135138821-202a7e731a42f9e184d9e56307edeb60062de3a5533336e4c62c2c0600a0fc72 (253:12)
docker-253:0-135138821-5916d79c2cd64aa0d2432c8e7ec9f0f139c1ad588d38ddbd7e44fbeb8fde49f2 (253:5)
docker-253:0-135138821-d8239c845177063e489bfdf8dd3664ae90388bc636469ca56d2d6e39e5aef0f5 (253:10)
docker-253:0-135138821-c4a4cce6e6bdfe6d140d2e748c811cc72172dadcb8b29116cff30ad9772a552e (253:3)
docker-253:0-135138821-pool (253:2)
docker-253:0-135138821-2dc18f6625689ef021569be25a0d210f8b5cd0e5a8a81b269a2da628777337b9 (253:11)
centos-swap (253:1)
centos-root (253:0)

dmsetup info 可以来查看dm设备(lvm)映射情况,可以看到主设备号,次设备号,看不到物理硬盘信息(sda/sdb)

[root@ht8 sd_mod]# dmsetup info
Name: docker-253:0-135138821-32a1e85fe9f0c8eab9248b81d8c1a8be4caf45436af329f323d30bf6a18dfee0
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 13
Number of targets: 1

Name: docker-253:0-135138821-18a265cfa6407eee03f5dd6a27aa4b0d2a5f68847de92753a4b2e8891965e5f9
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 14
Number of targets: 1
…..其他省略

ll /dev/

[root@ht8 sd_mod]# ll /dev | grep dm
crw------- 1 root root 10, 61 Jan 5 19:39 cpu_dma_latency
brw-rw---- 1 root disk 253, 0 Jan 5 19:39 dm-0
brw-rw---- 1 root disk 253, 1 Jan 5 19:39 dm-1
brw-rw---- 1 root disk 253, 10 Feb 23 19:20 dm-10
brw-rw---- 1 root disk 253, 11 Feb 23 19:20 dm-11
brw-rw---- 1 root disk 253, 12 Feb 23 19:20 dm-12
brw-rw---- 1 root disk 253, 13 Feb 23 19:20 dm-13
brw-rw---- 1 root disk 253, 14 Feb 23 19:21 dm-14
brw-rw---- 1 root disk 253, 2 Feb 23 19:20 dm-2
brw-rw---- 1 root disk 253, 3 Feb 23 19:20 dm-3
brw-rw---- 1 root disk 253, 4 Feb 23 19:20 dm-4
brw-rw---- 1 root disk 253, 5 Feb 23 19:20 dm-5
brw-rw---- 1 root disk 253, 6 Feb 23 19:20 dm-6
brw-rw---- 1 root disk 253, 7 Feb 23 19:20 dm-7
brw-rw---- 1 root disk 253, 8 Feb 23 19:20 dm-8
brw-rw---- 1 root disk 253, 9 Feb 23 19:20 dm-9

dax

[root@ht8 sd_mod]# cat /proc/devices | grep dax
253 dax

https://gitee.com/yuan369/linux/blob/master/drivers/dax/dax.c

lsblk

[root@ht8 sd_mod]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
sdb 8:16 0 100G 0 disk
├─sdb1 8:17 0 500M 0 part /boot
└─sdb2 8:18 0 99.5G 0 part
├─centos-root 253:0 0 95.5G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-253:0-135138821-pool 253:2 0 100G 0 dm
├─docker-253:0-135138821-c4a4cce6e6bdfe6d140d2e748c811cc72172dadcb8b29116cff30ad9772a552e 253:3 0 10G 0 dm /var/lib/docker/devicemapper/mnt/c4a4cce6e6bdfe6d
├─docker-253:0-135138821-2c7da4e527f521da263f764d0fae9e453bd3855b7036197e6c0220240a8b08d2 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/2c7da4e527f521da
├─docker-253:0-135138821-5916d79c2cd64aa0d2432c8e7ec9f0f139c1ad588d38ddbd7e44fbeb8fde49f2 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/5916d79c2cd64aa0
├─docker-253:0-135138821-1e346ca7ac6a9e85b28b43247983c01647f050dd6ef9ba1f140942d520f142e1 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/1e346ca7ac6a9e85
├─docker-253:0-135138821-9e7948852a94d7d4de0713d5a9e7fdb0cffe7c0de7daeea629663b58ad686897 253:7 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9e7948852a94d7d4
├─docker-253:0-135138821-bd1a50cb97f898c748f5fde1b993a81692281d4b928f0b18ea6f715f20d216a5 253:8 0 10G 0 dm /var/lib/docker/devicemapper/mnt/bd1a50cb97f898c7
├─docker-253:0-135138821-9e87d45d1384dec14300f5595d41d55e41d70a19cd7874a528167eb8cdf816b9 253:9 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9e87d45d1384dec1
├─docker-253:0-135138821-d8239c845177063e489bfdf8dd3664ae90388bc636469ca56d2d6e39e5aef0f5 253:10 0 10G 0 dm /var/lib/docker/devicemapper/mnt/d8239c845177063e
├─docker-253:0-135138821-2dc18f6625689ef021569be25a0d210f8b5cd0e5a8a81b269a2da628777337b9 253:11 0 10G 0 dm /var/lib/docker/devicemapper/mnt/2dc18f6625689ef0
├─docker-253:0-135138821-202a7e731a42f9e184d9e56307edeb60062de3a5533336e4c62c2c0600a0fc72 253:12 0 10G 0 dm /var/lib/docker/devicemapper/mnt/202a7e731a42f9e1
├─docker-253:0-135138821-32a1e85fe9f0c8eab9248b8ed8c1a8be4caf45436af329f323d30bf6a18dfee0 253:13 0 10G 0 dm /var/lib/docker/devicemapper/mnt/32a1e85fe9f0c8ea
└─docker-253:0-135138821-18a265cfa6407eee03f5dd6a27aa4b0d2a5f68847de92753a4b2e8898965e5f9 253:14 0 10G 0 dm /var/lib/docker/devicemapper/mnt/18a265cfa6407eee
loop1 7:1 0 2G 0 loop
└─docker-253:0-135138821-pool 253:2 0 100G 0 dm
├─docker-253:0-135138821-c4a4cce6e6bdfe6d140d2e748c811cc72172dadcb8b29116cff30ad9772a552e 253:3 0 10G 0 dm /var/lib/docker/devicemapper/mnt/c4a4cce6e6bdfe6d
├─docker-253:0-135138821-2c7da4e527f521da263f764d0fae9e453bd3855b7036197e6c0220240a8b08d2 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/2c7da4e527f521da
├─docker-253:0-135138821-5916d79c2cd64aa0d2432c8e7ec9f0f139c1ad588d38ddbd7e44fbeb8fde49f2 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/5916d79c2cd64aa0
├─docker-253:0-135138821-1e346ca7ac6a9e85b28b43247983c01647f050dd6ef9ba1f140942d520f142e1 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/1e346ca7ac6a9e85
├─docker-253:0-135138821-9e7948852a94d7d4de0713d5a9e7fdb0cffe7c0de7daeea629663b58ad686897 253:7 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9e7948852a94d7d4
├─docker-253:0-135138821-bd1a50cb97f898c748f5fde1b993a81692281d4b928f0b18ea6f715f20d216a5 253:8 0 10G 0 dm /var/lib/docker/devicemapper/mnt/bd1a50cb97f898c7
├─docker-253:0-135138821-9e87d45d1384dec14300f5595d41d55e41d70a19cd7874a528167eb8cdf816b9 253:9 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9e87d45d1384dec1
├─docker-253:0-135138821-d8239c845177063e489bfdf8dd3664ae90388bc636469ca56d2d6e39e5aef0f5 253:10 0 10G 0 dm /var/lib/docker/devicemapper/mnt/d8239c845177063e
├─docker-253:0-135138821-2dc18f6625689ef021569be25a0d210f8b5cd0e5a8a81b269a2da628777337b9 253:11 0 10G 0 dm /var/lib/docker/devicemapper/mnt/2dc18f6625689ef0
├─docker-253:0-135138821-202a7e731a42f9e184d9e56307edeb60062de3a5533336e4c62c2c0600a0fc72 253:12 0 10G 0 dm /var/lib/docker/devicemapper/mnt/202a7e731a42f9e1
├─docker-253:0-135138821-32a1e85fe9f0c8eab9248b8ed8c1a8be4caf45436af329f323d30bf6a18dfee0 253:13 0 10G 0 dm /var/lib/docker/devicemapper/mnt/32a1e85fe9f0c8ea
└─docker-253:0-135138821-18a265cfa6407eee03f5dd6a27aa4b0d2a5f68847de92753a4b2e8898965e5f9 253:14 0 10G 0 dm /var/lib/docker/devicemapper/mnt/18a265cfa6407eee

dm-0--->dm-14

[root@ht8 sd_mod]# iostat -d 1
Linux 3.10.0-1160.45.1.el7.x86_64 (ht8.node) 03/26/2022 _x86_64_ (8 CPU)

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 1176 0
sdb 3.49 0.23 19.54 1599888 135179590
dm-0 3.56 0.23 19.54 1587634 135177481
dm-1 0.00 0.00 0.00 2208 0
dm-2 0.04 0.07 0.10 466569 714421
dm-3 0.00 0.00 0.00 9328 2650
dm-4 0.00 0.00 0.00 3946 2441
dm-5 0.00 0.00 0.00 16025 2515
dm-7 0.00 0.00 0.00 3946 2441
dm-6 0.00 0.00 0.00 3946 2441
dm-9 0.00 0.00 0.00 14479 2573
dm-10 0.00 0.01 0.00 71761 7318
dm-8 0.00 0.00 0.00 3946 2441
dm-11 0.00 0.00 0.00 3946 2441
dm-12 0.04 0.00 0.13 34161 909708
dm-13 0.00 0.01 0.00 76896 17479
dm-14 0.00 0.02 0.01 119546 51175

Linux的文件权限

解释: 第一列 r可读,w可写,e可执行,-无权限
[d]目录,[-]文件,[l]链接文件,[b]设备文件中可供存储的接口设备,[c]串行端口设备。(对应/proc/devices里面的Character devices和Block devices)

[root@ht8 sd_mod]# ll /dev total 4 crw-rw---- 1 root video 10, 175 Jan 5 19:39 agpgart //开头c,所以找/proc/devices中Character devices下的编号是10的,即misc,代表misc串口设备 crw------- 1 root root 10, 235 Jan 5 19:39 autofs   drwxr-xr-x 2 root root 480 Feb 23 19:22 block drwxr-xr-x 2 root root 140 Jan 5 19:39 bsg crw------- 1 root root 10, 234 Jan 5 19:39 btrfs-control lrwxrwxrwx 1 root root 3 Jan 5 19:39 cdrom -> sr0 //衔接文件 drwxr-xr-x 2 root root 80 Jan 5 19:39 centos drwxr-xr-x 2 root root 3040 Mar 24 18:17 char crw------- 1 root root 5, 1 Jan 5 19:39 console //c代表字符设备,5是 /dev/console (查看/proc/devices设备定义) lrwxrwxrwx 1 root root 11 Jan 5 19:39 core -> /proc/kcore drwxr-xr-x 10 root root 200 Jan 5 19:39 cpu  crw------- 1 root root 10, 61 Jan 5 19:39 cpu_dma_latency //misc设备 crw------- 1 root root 10, 62 Jan 5 19:39 crash //字符设备,10表示misc drwxr-xr-x 5 root root 100 Jan 5 19:39 disk //代表磁盘 brw-rw---- 1 root disk 253, 0 Jan 5 19:39 dm-0 //253即device-mapper(cat /proc/devices中Block devices标识为253的主设备编号) brw-rw---- 1 root disk 253, 1 Jan 5 19:39 dm-1 brw-rw---- 1 root disk 253, 10 Feb 23 19:20 dm-10 brw-rw---- 1 root disk 253, 11 Feb 23 19:20 dm-11 brw-rw---- 1 root disk 253, 12 Feb 23 19:20 dm-12 brw-rw---- 1 root disk 253, 13 Feb 23 19:20 dm-13 brw-rw---- 1 root disk 253, 14 Feb 23 19:21 dm-14 brw-rw---- 1 root disk 253, 2 Feb 23 19:20 dm-2 brw-rw---- 1 root disk 253, 3 Feb 23 19:20 dm-3 brw-rw---- 1 root disk 253, 4 Feb 23 19:20 dm-4 brw-rw---- 1 root disk 253, 5 Feb 23 19:20 dm-5 brw-rw---- 1 root disk 253, 6 Feb 23 19:20 dm-6 brw-rw---- 1 root disk 253, 7 Feb 23 19:20 dm-7 brw-rw---- 1 root disk 253, 8 Feb 23 19:20 dm-8 brw-rw---- 1 root disk 253, 9 Feb 23 19:20 dm-9 drwxr-xr-x 2 root root 80 Jan 5 19:39 dri crw-rw---- 1 root video 29, 0 Jan 5 19:39 fb0 //fb表示该文件包含帧缓冲设备列表,帧缓冲设备编号和控制它的驱动程序 lrwxrwxrwx 1 root root 13 Jan 5 19:39 fd -> /proc/self/fd  //是一个链接,设备上描述当前有哪些文件描述符 crw-rw-rw- 1 root root 1, 7 Jan 5 19:39 full crw-rw-rw- 1 root root 10, 229 Jan 5 19:39 fuse crw------- 1 root root 10, 228 Jan 5 19:39 hpet drwxr-xr-x 2 root root 0 Jan 5 19:39 hugepages crw------- 1 root root 10, 183 Jan 5 19:39 hwrng lrwxrwxrwx 1 root root 25 Jan 5 19:39 initctl -> /run/systemd/initctl/fifo drwxr-xr-x 3 root root 240 Jan 5 19:39 input crw-r--r-- 1 root root 1, 11 Jan 5 19:39 kmsg srw-rw-rw- 1 root root 0 Jan 5 19:39 log brw-rw---- 1 root disk 7, 0 Feb 23 19:20 loop0 //回环设备,docker使用,虚拟设备 brw-rw---- 1 root disk 7, 1 Feb 23 19:20 loop1 crw-rw---- 1 root disk 10, 237 Jan 5 19:39 loop-control //10代表misc设备 drwxr-xr-x 2 root root 360 Feb 23 19:22 mapper crw------- 1 root root 10, 227 Jan 5 19:39 mcelog crw-r----- 1 root kmem 1, 1 Jan 5 19:39 mem drwxrwxrwt 2 root root 40 Jan 5 19:39 mqueue drwxr-xr-x 2 root root 60 Jan 5 19:39 net crw------- 1 root root 10, 60 Jan 5 19:39 network_latency crw------- 1 root root 10, 59 Jan 5 19:39 network_throughput crw-rw-rw- 1 root root 1, 3 Jan 5 19:39 null crw------- 1 root root 10, 144 Jan 5 19:39 nvram crw------- 1 root root 1, 12 Jan 5 19:39 oldmem crw-r----- 1 root kmem 1, 4 Jan 5 19:39 port crw------- 1 root root 108, 0 Jan 5 19:39 ppp crw-rw-rw- 1 root tty 5, 2 Mar 26 22:12 ptmx drwxr-xr-x 2 root root 0 Jan 5 19:39 pts -rw-r--r-- 1 root root 15 Mar 26 20:59 pts0 crw-rw-rw- 1 root root 1, 8 Jan 5 19:39 random drwxr-xr-x 2 root root 60 Jan 5 19:39 raw crw-rw-r-- 1 root root 10, 56 Mar 24 18:17 rfkill lrwxrwxrwx 1 root root 4 Jan 5 19:39 rtc -> rtc0 crw------- 1 root root 252, 0 Jan 5 19:39 rtc0 brw-rw---- 1 root disk 8, 0 Jan 5 19:39 sda //scsi磁盘(8代表Block devices里面的sd,是块设备) brw-rw---- 1 root disk 8, 16 Jan 5 19:39 sdb brw-rw---- 1 root disk 8, 17 Jan 5 19:39 sdb1 brw-rw---- 1 root disk 8, 18 Jan 5 19:39 sdb2 crw-rw---- 1 root disk 21, 0 Jan 5 19:39 sg0 crw-rw---- 1 root cdrom 21, 1 Jan 5 19:39 sg1 crw-rw---- 1 root disk 21, 2 Jan 5 19:39 sg2 drwxrwxrwt 2 root root 40 Jan 5 19:39 shm crw------- 1 root root 10, 231 Jan 5 19:39 snapshot drwxr-xr-x 2 root root 80 Jan 5 19:39 snd brw-rw---- 1 root cdrom 11, 0 Jan 5 19:39 sr0 lrwxrwxrwx 1 root root 15 Jan 5 19:39 stderr -> /proc/self/fd/2 lrwxrwxrwx 1 root root 15 Jan 5 19:39 stdin -> /proc/self/fd/0 lrwxrwxrwx 1 root root 15 Jan 5 19:39 stdout -> /proc/self/fd/1 crw-rw-rw- 1 root tty 5, 0 Jan 5 19:39 tty crw--w---- 1 root tty 4, 0 Jan 5 19:39 tty0 crw--w---- 1 root tty 4, 1 Mar 26 20:59 tty1 crw--w---- 1 root tty 4, 10 Jan 5 19:39 tty10 crw--w---- 1 root tty 4, 11 Jan 5 19:39 tty11 crw--w---- 1 root tty 4, 12 Jan 5 19:39 tty12 crw--w---- 1 root tty 4, 13 Jan 5 19:39 tty13 crw--w---- 1 root tty 4, 14 Jan 5 19:39 tty14 crw--w---- 1 root tty 4, 15 Jan 5 19:39 tty15 crw--w---- 1 root tty 4, 16 Jan 5 19:39 tty16 crw--w---- 1 root tty 4, 17 Jan 5 19:39 tty17 crw--w---- 1 root tty 4, 18 Jan 5 19:39 tty18 crw--w---- 1 root tty 4, 19 Jan 5 19:39 tty19 crw--w---- 1 root tty 4, 2 Jan 5 19:39 tty2 crw--w---- 1 root tty 4, 20 Jan 5 19:39 tty20 crw--w---- 1 root tty 4, 21 Jan 5 19:39 tty21 crw--w---- 1 root tty 4, 22 Jan 5 19:39 tty22 crw--w---- 1 root tty 4, 23 Jan 5 19:39 tty23 crw--w---- 1 root tty 4, 24 Jan 5 19:39 tty24 crw--w---- 1 root tty 4, 25 Jan 5 19:39 tty25 crw--w---- 1 root tty 4, 26 Jan 5 19:39 tty26 crw--w---- 1 root tty 4, 27 Jan 5 19:39 tty27 crw--w---- 1 root tty 4, 28 Jan 5 19:39 tty28 crw--w---- 1 root tty 4, 29 Jan 5 19:39 tty29 crw--w---- 1 root tty 4, 3 Jan 5 19:39 tty3 crw--w---- 1 root tty 4, 30 Jan 5 19:39 tty30 crw--w---- 1 root tty 4, 31 Jan 5 19:39 tty31 crw--w---- 1 root tty 4, 32 Jan 5 19:39 tty32 crw--w---- 1 root tty 4, 33 Jan 5 19:39 tty33 crw--w---- 1 root tty 4, 34 Jan 5 19:39 tty34 crw--w---- 1 root tty 4, 35 Jan 5 19:39 tty35 crw--w---- 1 root tty 4, 36 Jan 5 19:39 tty36 crw--w---- 1 root tty 4, 37 Jan 5 19:39 tty37 crw--w---- 1 root tty 4, 38 Jan 5 19:39 tty38 crw--w---- 1 root tty 4, 39 Jan 5 19:39 tty39 crw--w---- 1 root tty 4, 4 Jan 5 19:39 tty4 crw--w---- 1 root tty 4, 40 Jan 5 19:39 tty40 crw--w---- 1 root tty 4, 41 Jan 5 19:39 tty41 crw--w---- 1 root tty 4, 42 Jan 5 19:39 tty42 crw--w---- 1 root tty 4, 43 Jan 5 19:39 tty43 crw--w---- 1 root tty 4, 44 Jan 5 19:39 tty44 crw--w---- 1 root tty 4, 45 Jan 5 19:39 tty45 crw--w---- 1 root tty 4, 46 Jan 5 19:39 tty46 crw--w---- 1 root tty 4, 47 Jan 5 19:39 tty47 crw--w---- 1 root tty 4, 48 Jan 5 19:39 tty48 crw--w---- 1 root tty 4, 49 Jan 5 19:39 tty49 crw--w---- 1 root tty 4, 5 Jan 5 19:39 tty5 crw--w---- 1 root tty 4, 50 Jan 5 19:39 tty50 crw--w---- 1 root tty 4, 51 Jan 5 19:39 tty51 crw--w---- 1 root tty 4, 52 Jan 5 19:39 tty52 crw--w---- 1 root tty 4, 53 Jan 5 19:39 tty53 crw--w---- 1 root tty 4, 54 Jan 5 19:39 tty54 crw--w---- 1 root tty 4, 55 Jan 5 19:39 tty55 crw--w---- 1 root tty 4, 56 Jan 5 19:39 tty56 crw--w---- 1 root tty 4, 57 Jan 5 19:39 tty57 crw--w---- 1 root tty 4, 58 Jan 5 19:39 tty58 crw--w---- 1 root tty 4, 59 Jan 5 19:39 tty59 crw--w---- 1 root tty 4, 6 Jan 5 19:39 tty6 crw--w---- 1 root tty 4, 60 Jan 5 19:39 tty60 crw--w---- 1 root tty 4, 61 Jan 5 19:39 tty61 crw--w---- 1 root tty 4, 62 Jan 5 19:39 tty62 crw--w---- 1 root tty 4, 63 Jan 5 19:39 tty63 crw--w---- 1 root tty 4, 7 Jan 5 19:39 tty7 crw--w---- 1 root tty 4, 8 Jan 5 19:39 tty8 crw--w---- 1 root tty 4, 9 Jan 5 19:39 tty9 crw-rw---- 1 root dialout 4, 64 Jan 5 19:39 ttyS0 crw-rw---- 1 root dialout 4, 65 Jan 5 19:39 ttyS1 crw-rw---- 1 root dialout 4, 66 Jan 5 19:39 ttyS2 crw-rw---- 1 root dialout 4, 67 Jan 5 19:39 ttyS3 crw------- 1 root root 10, 239 Jan 5 19:39 uhid crw------- 1 root root 10, 223 Jan 5 19:39 uinput crw-rw-rw- 1 root root 1, 9 Jan 5 19:39 urandom crw------- 1 root root 247, 0 Jan 5 19:39 usbmon0 crw-rw---- 1 root tty 7, 0 Jan 5 19:39 vcs //当前虚拟控制台(vc)的文本内容 crw-rw---- 1 root tty 7, 1 Jan 5 19:39 vcs1 crw-rw---- 1 root tty 7, 2 Jan 5 19:39 vcs2 crw-rw---- 1 root tty 7, 3 Jan 5 19:39 vcs3 crw-rw---- 1 root tty 7, 4 Jan 5 19:39 vcs4 crw-rw---- 1 root tty 7, 5 Jan 5 19:39 vcs5 crw-rw---- 1 root tty 7, 6 Jan 5 19:39 vcs6 crw-rw---- 1 root tty 7, 128 Jan 5 19:39 vcsa (查看/proc/devices里面标Character devices识下的vcs)

crw-rw---- 1 root tty 7, 129 Jan 5 19:39 vcsa1 //tty1 的文本/属性内容
crw-rw---- 1 root tty 7, 130 Jan 5 19:39 vcsa2 //tty2 的文本/属性内容
crw-rw---- 1 root tty 7, 131 Jan 5 19:39 vcsa3 //tty3 的文本/属性内容
crw-rw---- 1 root tty 7, 132 Jan 5 19:39 vcsa4
crw-rw---- 1 root tty 7, 133 Jan 5 19:39 vcsa5
crw-rw---- 1 root tty 7, 134 Jan 5 19:39 vcsa6
drwxr-xr-x 2 root root 60 Jan 5 19:39 vfio
crw------- 1 root root 10, 63 Jan 5 19:39 vga_arbiter
crw------- 1 root root 10, 137 Jan 5 19:39 vhci
crw------- 1 root root 10, 238 Jan 5 19:39 vhost-net
crw------- 1 root root 10, 58 Jan 5 19:39 vmci
crw------- 1 root root 10, 57 Jan 5 19:39 vsock
crw-rw-rw- 1 root root 1, 5 Jan 5 19:39 zero

小结:

 分析该目录下文件首先查看目录权限中的打头字母,根据打头字母,去查/proc/devices中标记的C(Character devices)还是 B(Block devices)两大类设备

 再从里面找到标记的某类的编号查到其代表的意思.

参考:

https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/devices.txt

https://01.org/linuxgraphics/gfx-docs/drm/admin-guide/devices.html

device-mapper