大部分操作系统支持多种文件。根据文件的内容是用户数据还是文件系统本身的数据,文件分为3种:
目录
一般文件
块文件
目录
目录是记录文件的文件,即它的内容是关于别的文件。
一般文件
一般文件用于保存数据。
对于一般文件来说,根据其内容的组织方式不同,可以分为两种文件:
文本文件
二进制文件
文本文件存放的是没有经过处理的数据,即以ASCII码表示的数据。任何编辑器都可以打开这种文件。二进制文件是经过编码的文件,普通编辑器打不开,必须用专门的应用软件才能打开。另外,加密文件也是二进制文件。
块文件
块文件既不是关于别的文件,也不是关于用户数据,而是关于输入输出设备的。具体来说,块文件模拟的是输入输出,或者说是为输入输出提供的一个抽象。对于每个输入输出设备,我们以一个文件来表示。需要与该设备发生数据交换时就以该文件来替代。
例如,往(Linux、Solaris操作系统下的)lp1文件写数据就相当于使用行式打印机1进行打印。通过块文件,输入输出和文件系统就统一了。
也许有读者会问,输入输出设备还能用文件替代?当然。文件系统其实就是为磁盘提供一个抽象。而我们知道磁盘可以看做输入输出设备。既然可以对磁盘提供一个抽象,为什么不能为其他的输入输出提供一种抽象呢?
ps
- 什么是块文件?