Linux——文件管理(文件系统、目录管理、文件操作)
目录
一、文件系统的层次模型
1、层次模型图示
2、文件系统模型可以划分为三个层次
3、文件存在两种形式的结构
(1)逻辑结构
(2)物理结构
4、 文件的存储空间管理
二、目录管理
1、文件控制块FCB
2、索引节点
3、文件目录(目录文件)
4、BFD:基本文件目录表
5、SFD:符号文件目录表
三、 Linux中的文件系统
1、Linux系统的一级目录
2、Linux中采用文件存取控制表
3、 Linux采用两层结构
4、 文件系统操作的系统调用界面图
四、 Linux文件系统中的对象
1、超块对象
2、inode对象
3、file对象
4、dentry对象
5、查看文件的i节点信息
6、Linux文件系统中的缓冲区
五、Linux系统中的目录管理
1、Linux系统中的磁盘块管理
2、空闲盘块的组织
3、Linux中的文件访问
4、Linux对i节点的管理
六、 Linux系统中的文件操作
1、Linux系统中的文件操作
2、文件分配过程
3、文件回收过程
4、 检索目录
一、文件系统的层次模型
1、层次模型图示
2、文件系统模型可以划分为三个层次
(1)最高层是文件系统提供给用户的接口(GUI、cmd、System Call)。
(2)中间层是对对象进行操作和管理的软件集合(文件存储空间的管理,文件目录管理,地址转换,文件读写管理,文件的共享与保护。)
(3)最底层是对象(文件、目录、磁盘空间)及其属性。
3、文件存在两种形式的结构
(1)逻辑结构
- 流式文件(非记录文件):指文件中的数据是由一串字节组成的信息流序列,即字节流文件(是一种无结构的文件)。
- 记录式文件:是一种有结构的文件,有若干逻辑记录信息所组成的记录流文件。
- 文件的存取方法:顺序存取,直接存取(随机存取),索引存取(按键存取)。
(2)物理结构
- 连续文件:把逻辑文件中的信息顺序地存储到连续的物理盘块中。文件的说明信息包括文件的起始块号和块的个数。不利于文件的动态变化。
- 串连文件:用链接指针将存放文件信息的离散的物理盘块链接成一个队列。文件的长度可以动态变化,但是对文件记录的访问效率较低。
- 索引文件:给每个文件分配一个索引表,记录每个记录的物理块。可以采用多级索引。
4、 文件的存储空间管理
- (1) 空闲区表法
- (2)空闲链表法
- (3)位示图法
- (4) 成组链接法
二、目录管理
从管理角度看,一个文件包括两部分:文件体和文件控制块。
1、文件控制块FCB
文件控制块(FCB):包括文件名、物理地址、逻辑结构、物理结构、存取控制信息及使用信息等。
2、索引节点
把文件名与文件描述信息分开。
使文件描述信息单独形成一个称为索引节点的数据结构,简称i-节点。
3、文件目录(目录文件)
文件目录中的每个目录项,仅由文件名及指向该文件所对应的i-节点的指针所构成。
4、BFD:基本文件目录表
文件系统中提供所有文件的基本文件目录表,存放除了文件名之外的文件说明信息和文件标识符ID。
5、SFD:符号文件目录表
存放文件名和文件标识符ID;
赋予BFD、空闲文件目录、主目录MFD的符号文件目录固定不变的标识符。
目录文件同样存储在外设中。为提高访问效率,将部分目录文件复制到内存中。
- 打开文件:把该文件外存中的目录文件及i节点复制到内存中。
- 关闭文件:在内存中删除该文件的目录文件和i节点。
- 活动文件表:在内存中为每个用户设置一张表,来存放该用户打开文件的SFD。
- 活动BFD表:整个系统设置一张所有打开文件的BFD。
不同用户共同使用一个文件,以减少系统复制文件的开销。
采用链接方法:链接到目录中的共享文件。