Linux中什么叫做块设备 什么 叫做字符设备

ls -l

总用量 8

-rw-------. 1 root root 1680 9月  19 12:16 anacon.cfg

-rw-r--r--. 1 root root 1728 9月  19 12:55 ks.cfg

drwxr-xr-x. 2 root root    6 9月  19 13:05 public

drwxr-xr-x. 2 root root    6 9月  19 13:05 templates

drwxr-xr-x. 2 root root    6 9月  19 13:05 videos

第一个字符文件类型中:

d:目录文件

l:链接文件

b:块设备文件

c:字符设备文件

p:管道文件

-: 表示普通文件

这里面的块设备、管道、字符设备分别是什么

先了解什么是I/O设备:常见的有键盘、鼠标和硬盘,应用程序可以读取这些设备所给与的信息或者将信息写入到这些设备;

它们是Linux中的I/O设备分为块设备和字符设备,本身并无明显界限,只是按功能进行划分;

字符设备(Char )简称c,它为程序提供持续且有顺序的读取,但不支持随机的读取.因为它无法对字符进行索引;我们在使用键盘或者鼠标时就是程序按顺序持续读取我们输入的字符,并不能说随机的读取我们已经输入的字符当中的某一个字符;调制解调器也是一种字符设备;

块设备(Block )简称b,它为程序提供随机读取数据的功能,因为它支持字符的索引,因此可以通过索引找到设备中的数据;且一次只能读取的数据量只能是块(512B)的倍数,我们使用的硬盘就是一种块设备;