linux 系统中的特殊文件

特殊文件是UNIX系统中最具特色的文件特性之一。特殊文件也称设备文件。提供用户访问外部设备,而不必知道各种设备的具体操作。UNIX利用特殊文件作为用户与设备文件的接口,使用户能像访问普通文件那样访问特殊文件

      特殊文件不包含任何数据,她只是提供了一种机制,即在文件系统中建立物理设备与文件名之间的映射。特殊文件利用mknod或系统调用创建,且必须提供相关的驱动程序,并集成到系统内核中。否则即使创建了特殊文件,也无法访问相应的设备。
     mknod special   type  [ major   minor ]
其中,special为特殊文件名。
      type为特殊文件的类型,合法的类型有C:字符特殊文件、P:管道文件、B:块特殊文件;
      major为主设备号,表示按设备类型组织的设备驱动程序指针数组的索引。minor为次设备号,表示同类设备中的某个子设备,可以用做调用相应驱动程序的参数。
      块特殊文件与采用数据块组织结构和处理方式的设备相关联。所谓数据块组织结构的设备实际上是指能够以固定长度的数据块传输数据,也能够随机访问其中任何数据块的存储设备。磁盘就是一种典型的数据块组织结构的设备,載LINUX中 磁盘与内存之间通常是以数据块的方式进行传递,以数据块为单位读写数据。
yuyunchao@wuyaalan:~$ df
文件系统           1K-块      已用      可用 已用% 挂载点
/dev/sda12             9611492   2992300   6130952  33% /
none                    975428       732    974696   1% /dev
none                    982040      1180    980860   1% /dev/shm
none                    982040       100    981940   1% /var/run
none                    982040         0    982040   0% /var/lock
/dev/sda14            96120588   4288760  86949092   5% /home
yuyunchao@wuyaalan:~$ file /dev/sda12
/dev/sda12: block special
        字符特殊文件:任何非数据组织结构的设备均为字符设备。当然字符特书文件与块特殊文件相反,字符设备无法使用定长的数据块,也不能随机访问,其最底层的I/O接口一次只能处理一个字符。
       对于管道文件前面已经讲过,就不讲了。

你可能感兴趣的:(linux)