文件系统 Uw文件系纤概述 ☆EXt2文件系统简介 1958 2021/2/9 嵌入式系统实验室 Linux Os analysis 2184 EMBEDDED SYSTEM LABDRATORY
2021/2/9 Linux OS analysis 2/84 文件系统 ❖Unix文件系统概述 ❖Linux的虚拟文件系统 ❖Ext2文件系统简介
提纲 文件 ◇硬链接和软链接 ◆文件类型 ☆文件描述符与索引节点 ◆访问权限和文件模式 ◆文件操作的系统调用 2021/2/9 嵌入式系统实验室 Linux Os analysis 4|84 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 4/84 提纲 ❖文件 ❖硬链接和软链接 ❖文件类型 ❖文件描述符与索引节点 ❖访问权限和文件模式 ❖文件操作的系统调用
文件 ☆Unⅸ文件是以字节序列组成的信息载体 ◆内核不解释文件的内容 ◆文件的组织 Figure 1-1. An example of a directory tree dev ome bin .. usr fdo)∴(hda ls)…(cr 2021/2/9 M日 EDDED SYSTEM LA日口RAT口R丫
2021/2/9 Linux OS analysis 5/84 文件 ❖Unix文件是以字节序列组成的信息载体 ❖内核不解释文件的内容 ❖文件的组织
文件、目录和目录树 ☆文件被组织成一个树状的命名空间 >文件:叶结点 >目录:根节点(根目录“/)和中间节点 目录使用一个目录名标识。 ●目录节点包含它下面的文件及子目录的所有信息 ◆文件名和目录名1958 不能使用“和字符“0,其他ASCI字符都OK 长度:不同的文件系统有不同的限制, 通常<256个字符 同一个目录下,不允许文件重名;不同目录下无妨 2021/2/9 Linux Os analysis 6/84 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 6/84 文件、目录和目录树 ❖文件被组织成一个树状的命名空间 ➢文件:叶结点 ➢目录:根节点(根目录“/”)和中间节点 ⚫目录使用一个目录名标识。 ⚫目录节点包含它下面的文件及子目录的所有信息 ❖文件名和目录名 ➢不能使用“/”和字符“\0”,其他ASCII字符都OK ➢长度:不同的文件系统有不同的限制, 通常<256个字符 ➢同一个目录下,不允许文件重名;不同目录下无妨
令当前工作目录 Unx的每个进程都有一个当前工作目录, current working directory,属于进程的执行上下文 令绝对路径:用来在命名空间中指定一个特定的文 件,以“/打头,表示以根目录作为起点 形如 1958 >/home/chenxi/sample/test.c ◆相对路径:以当前工作目录作为起点 例如当前目录为“ home/chen”,则上述文件的相对 路径可以是“ sample/test. c 2021/2/9 嵌入式系统实验室 Linux Os analysis 7|84 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 7/84 ❖当前工作目录 ➢Unix的每个进程都有一个当前工作目录,current working directory,属于进程的执行上下文 ❖绝对路径:用来在命名空间中指定一个特定的文 件,以“/”打头,表示以根目录作为起点, 形如 ➢“/home/chenxl/sample/test.c” ❖相对路径:以当前工作目录作为起点 ➢例如当前目录为“/home/chenxl”,则上述文件的相对 路径可以是“sample/test.c
和 前者表示当前工作目录 >后者表示当前工作目录的父目录 若当前工作目录是根目录,那么“和相等 例如,当前目录是"home/ chen,则上述文件的相 对路径还可以表示为 /sample/test.c" /./chenxisample/test. c O"..//home/chenxi/sample/test. c 2021/2/9 嵌入式系统实验室 Linux Os analysis 8/84 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 8/84 ❖“.”和“..” ➢前者表示当前工作目录 ➢后者表示当前工作目录的父目录 ➢若当前工作目录是根目录“/”,那么“.”和“..”相等 ➢例如,当前目录是“/home/chenxl”,则上述文件的相 对路径还可以表示为 ⚫“./sample/test.c” ⚫“./../chenxl/sample/test.c” ⚫“../../home/chenxl/sample/test.c
硬链接和软链接 令硬链接( hard link) 一般情况下,一个常见的文件名代表了到对应文件的 个硬链接 一个文件可以有不同的硬链接,他们可以在同一个目 录下,也可以在不同的目录下,因此一个文件可以有 不同的文件名 下面的命令可以创建一个硬链接 S In pl p2 其中p1指明一个现有的文件的路径名 ●p2指明新建立的硬链接的路径名 2021/2/9 Linux Os analysis 9/84 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 9/84 硬链接和软链接 ❖硬链接(hard link) ➢一般情况下,一个常见的文件名代表了到对应文件的 一个硬链接 ➢一个文件可以有不同的硬链接,他们可以在同一个目 录下,也可以在不同的目录下,因此一个文件可以有 不同的文件名 ➢下面的命令可以创建一个硬链接 $ ln p1 p2 ⚫其中p1指明一个现有的文件的路径名 ⚫p2指明新建立的硬链接的路径名
令硬链接的限制 不允许用户给目录创建硬链接 只有在同一个文件系统的文件之间才能创建硬链接 软链接( symbolic link 符号链接是一种特殊的文件(短文件),它包含另一个文件的 任意一个路径名 可以指向任意一个文件系统的任意文件,甚至一个不存在的文 件 下面的命令可以创建一个软链接 S In-s pI p2 p2指明新建立的软连接的路径名。在实现上,文件系统抽出p2的目 录部分,在此目录下创建一个符号链接文件 2021/2/9 Linux Os analysis 10184 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 10/84 ❖ 硬链接的限制 ➢ 不允许用户给目录创建硬链接 ➢ 只有在同一个文件系统的文件之间才能创建硬链接 ❖ 软链接(symbolic link) ➢ 符号链接是一种特殊的文件(短文件),它包含另一个文件的 任意一个路径名 ➢ 可以指向任意一个文件系统的任意文件,甚至一个不存在的文 件 ➢ 下面的命令可以创建一个软链接 $ ln -s p1 p2 ⚫ p2指明新建立的软连接的路径名。在实现上,文件系统抽出p2的目 录部分,在此目录下创建一个符号链接文件
文件类型 ☆Un文件的类型可以是 常规文件( regular file) 目录 基本类型 符号链接 >面向块的设备文件 设备和驱动相关 >面向字符的设备文件 >管道和命名管道用于进程间通信 套接字 2021/2/9 Linux Os analysis 1184 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 11/84 文件类型 ❖Unix文件的类型可以是 ➢常规文件(regular file) ➢目录 ➢符号链接 ➢面向块的设备文件 ➢面向字符的设备文件 ➢管道和命名管道 ➢套接字 基本类型 设备和驱动相关 用于进程间通信
文件描述符和索引节点 令文件系统处理文件所需要的所有信息都包含在索引节点 inodel中 每个文件都有自己的 Ino ◆一般而言,inod应当包含如下信息 文件类型 与文件相关的硬链接的个数 以字节为单位的文件的长度 设备标识符(即包含文件的设备的标识符) 在文件系统中标识文件的iode号 文件拥有者的UID >文件的GID 些时间戳: inode状态的改变时间、文件的最后访问时间、最后修改 时间 访问权限和文件模式 2021/2/9 嵌入式系统实验室 Linux Os analysis 12184 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 12/84 文件描述符和索引节点 ❖ 文件系统处理文件所需要的所有信息都包含在索引节点inode中 ❖ 每个文件都有自己的inode ❖ 一般而言,inode应当包含如下信息 ➢ 文件类型 ➢ 与文件相关的硬链接的个数 ➢ 以字节为单位的文件的长度 ➢ 设备标识符(即包含文件的设备的标识符) ➢ 在文件系统中标识文件的inode号 ➢ 文件拥有者的UID ➢ 文件的GID ➢ 一些时间戳:inode状态的改变时间、文件的最后访问时间、最后修改 时间 ➢ 访问权限和文件模式