Skip to content

目录

考情分析

目录在 408 真题中累计考查约 24 分(2009-2026),属于 🔥🔥 中高频考点。常考目录结构的演进、路径解析过程及其磁盘 I/O 次数计算。

磁盘上存了成千上万个文件,怎么通过一个文件名找到它的数据在哪?目录就是文件系统的"索引"——从文件名到物理位置的桥梁。

目录的本质

目录本质上是一种特殊的文件,它的内容是一张目录项的表。每个目录项记录了一个文件(或子目录)的名称和其他信息的映射。目录就像图书馆的分类目录卡——通过书名找到书架号和层号。

在使用 inode 的文件系统中,目录项的格式非常简洁:

目录项 = (文件名, inode 号)

目录结构的演进

单级目录

整个系统只有一个目录,所有文件都在这个目录中。

根目录
├── file_a
├── file_b
├── file_c
└── file_d

优点:实现简单

缺点:不允许文件重名;文件数量多时检索慢;不支持多用户

两级目录

第一级是主文件目录(MFD),每个用户对应一个条目;第二级是用户文件目录(UFD),存放该用户的所有文件。

MFD
├── 用户A → UFD_A
│            ├── file_a
│            └── file_b
└── 用户B → UFD_B
             ├── file_a  ← 不同用户可以同名
             └── file_c

优点:不同用户可以有同名文件;一定程度上实现了访问控制

缺点:不能对文件分类管理;缺乏灵活性

树形目录(多级目录)

将目录组织成一棵,允许用户在目录下创建子目录,形成层次结构。这是现代操作系统的标准做法。

/(根目录)
├── home/
│   ├── alice/
│   │   ├── docs/
│   │   │   └── report.txt
│   │   └── code/
│   │       └── main.c
│   └── bob/
│       └── data.csv
└── etc/
    └── config.ini

路径名

类型说明示例
绝对路径从根目录开始的完整路径/home/alice/docs/report.txt
相对路径从当前目录开始的路径docs/report.txt(当前在 /home/alice

路径解析过程(以 /home/alice/docs/report.txt 为例):

  1. 从根目录 / 的 inode 开始
  2. 读取根目录的数据块,找到 home 对应的 inode
  3. 读取 home 目录的数据块,找到 alice 对应的 inode
  4. 读取 alice 目录的数据块,找到 docs 对应的 inode
  5. 读取 docs 目录的数据块,找到 report.txt 对应的 inode
  6. 读取文件的 inode 获取文件信息

每一级需要两次磁盘 I/O(读 inode + 读数据块),因此解析深度为 n 的路径需要约 2n 次磁盘 I/O。

当前目录的作用

使用相对路径可以减少目录检索次数,这也是「当前工作目录」存在的意义。

无环图目录

在树形目录基础上,允许多个目录项指向同一个文件或子目录,从而实现文件共享。目录结构从「树」变成了「有向无环图(DAG)」。

上图中 alice/report.txtshared/report.txt 指向同一个文件(通过硬链接或软链接实现)。

引入的问题

  • 删除文件时不能简单地回收空间(可能还有其他链接指向它)
  • 遍历目录时需要避免重复访问
  • 需要防止形成环(否则遍历会死循环)

交互可视化

加载可视化中...

目录操作

操作说明
搜索根据文件名在目录中查找对应的目录项
创建文件在目录中增加一个目录项
删除文件从目录中删除一个目录项
创建目录创建子目录(初始包含 ...
删除目录目录为空时才能删除
遍历目录列出目录中的所有文件和子目录

目录的实现

目录项在磁盘块中的组织方式:

方式说明检索效率
线性表目录项顺序存放,线性查找O(n)
哈希表文件名通过哈希函数映射到目录项O(1) 均摊

考研高频考点

  • 🔥🔥🔥 解析一个绝对路径需要多少次磁盘 I/O
  • 🔥🔥🔥 树形目录结构的特点(层次分明、路径唯一)
  • 🔥🔥 四种目录结构的演进及各自优缺点
  • 🔥🔥 绝对路径与相对路径的区别
  • 🔥 无环图目录中文件共享带来的删除问题

无环图目录中多个路径可以指向同一个文件,这就是"文件共享"。下一篇来看实现共享的两种具体方式——硬链接和软链接。

真题练习

相关真题(7题)

2025Q30选择题2分

文件创建:访问权限信息存在inode中而非目录项中

2022Q45综合题7分

综合题:索引节点的文件系统中目录、inode和多级索引的综合计算

2021Q32选择题2分

文件数量上限:由索引结点号4字节=32位决定,最多2³²个文件

2020Q31选择题2分

当前工作目录:使用相对路径加快文件检索速度

2016Q47综合题9分

综合题:FAT文件系统的目录结构、FAT表和文件访问路径

2013Q23选择题2分

删除文件:删除目录项、FCB和释放缓冲区,但不会删除所在目录

2009Q31选择题2分

当前工作目录:使用相对路径加快检索速度