文件系统 Uniⅸ文件系统概述 Linux的虚拟文件系统 冬Ext2文件系统简介 1958 嵌入式系统实验室 2023/7/14 Linux OS analysis 2192 EMBEDDED SYSTEM LABORATORY 百uE料DUAN0 ITUTE FOR AOVANCED5 FUOY DF U百TC
2023/7/14 Linux OS analysis 2/92 文件系统 ❖Unix文件系统概述 ❖Linux的虚拟文件系统 ❖Ext2文件系统简介
Unix文件系统概述 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FOR ADVANCED STUDY OF USTC
Unix文件系统概述
提纲 必文件 冬硬链接和软链接 必文件类型 冬文件描述符与索引节点 冬访问权限和文件模式 Science and Technol 必文件操作的系统调用 嵌入式系统实验室 2023/7/14 Linux OS analysis 4192 EMBEDDED SYSTEM LABORATORY 5uE料DUAN0 ITUTE FOR AOVANCED5 FUOY OF U百TC
2023/7/14 Linux OS analysis 4/92 提纲 ❖文件 ❖硬链接和软链接 ❖文件类型 ❖文件描述符与索引节点 ❖访问权限和文件模式 ❖文件操作的系统调用
文件 Uniⅸ文件是以字节序列组成的信息载体 冬内核不解释文件的内容 ?文件的组织 Figure 1-1.An example of a directory tree dev home bin usr fdo hda CD 2023/7/14 EMBEDDED白YSTEM LAB口RAT口RY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 5/92 文件 ❖Unix文件是以字节序列组成的信息载体 ❖内核不解释文件的内容 ❖文件的组织
文件、目录和目录树 ·文件被组织成一个树状的命名空间 >文件:叶结点 >目录:根节点(根目录“”)和中间节点 ●目录使用一个目录名标识。 ●目录节点包含它下面的文件及子目录的所有信息 ?文件名和目录名1958 >不能使用"P和字符“八0”,其他ASCII字符都OK >长度:不同的文件系统有不同的限制 通常同一个目录下,不允许文件重名;不同目录下无妨 cience and Techt 嵌入式系统实验室 2023/7/14 Linux OS analysis 6/92 EMBEDDED SYSTEM LABORATORY 5uE料DUN0 ITUTE FOR AOVANCED5 FUOY OF U百TD
2023/7/14 Linux OS analysis 6/92 文件、目录和目录树 ❖文件被组织成一个树状的命名空间 ➢文件:叶结点 ➢目录:根节点(根目录“/”)和中间节点 ⚫目录使用一个目录名标识。 ⚫目录节点包含它下面的文件及子目录的所有信息 ❖文件名和目录名 ➢不能使用“/”和字符“\0”,其他ASCII字符都OK ➢长度:不同的文件系统有不同的限制, 通常<256个字符 ➢同一个目录下,不允许文件重名;不同目录下无妨
冬当前工作目录 > Unix的每个进程都有一个当前工作目录,current working directory,属于进程的执行上下文 必绝对路径:用来在命名空间中指定一个特定的文 件,以“打头,表示以根目录作为起点, 形如 958 >"/home/chenxl/sample/test.c" 冬相对路径:以当前工作目录作为起点 >例如当前目录为"home/chenxl'”,则上述文件的相对 路径可以是"sample/test.c” cience and Techno 嵌入式系统实验室 2023/7/14 Linux OS analysis 7192 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 7/92 ❖当前工作目录 ➢Unix的每个进程都有一个当前工作目录,current working directory,属于进程的执行上下文 ❖绝对路径:用来在命名空间中指定一个特定的文 件,以“/”打头,表示以根目录作为起点, 形如 ➢“/home/chenxl/sample/test.c” ❖相对路径:以当前工作目录作为起点 ➢例如当前目录为“/home/chenxl”,则上述文件的相对 路径可以是“sample/test.c
“和 >前者表示当前工作目录 >后者表示当前工作目录的父目录 >若当前工作目录是根目录“”,那么“和”.相等 >例如,当前目录是“home/chenxl”,则上述文件的相 对路径还可以表示为 ●"./sample/test.c ●“././chenx/sample/test.c” Science and Technology o ●“././home/chenxl/,sample/test.c” 嵌入式系统实验室 2023/7/14 Linux OS analysis 8/92 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 8/92 ❖“.”和“..” ➢前者表示当前工作目录 ➢后者表示当前工作目录的父目录 ➢若当前工作目录是根目录“/”,那么“.”和“..”相等 ➢例如,当前目录是“/home/chenxl”,则上述文件的相 对路径还可以表示为 ⚫“./sample/test.c” ⚫“./../chenxl/sample/test.c” ⚫“../../home/chenxl/sample/test.c
硬链接和软链接 冬硬链接(hard link) >一 般情况下,一个常见的文件名代表了到对应文件的 个硬链接 > 一个文件可以有不同的硬链接,他们可以在同一个目 录下,也可以在不同的目录下,因此一个文件可以有 不同的文件名 >下面的命令可以创建一个硬链接 Inpl p2 ●其中p1指明一个现有的文件的路径名 ●p2指明新建立的硬链接的路径名 嵌入式系统实验室 2023/7/14 Linux OS analysis 9/92 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 9/92 硬链接和软链接 ❖硬链接(hard link) ➢一般情况下,一个常见的文件名代表了到对应文件的 一个硬链接 ➢一个文件可以有不同的硬链接,他们可以在同一个目 录下,也可以在不同的目录下,因此一个文件可以有 不同的文件名 ➢下面的命令可以创建一个硬链接 $ ln p1 p2 ⚫其中p1指明一个现有的文件的路径名 ⚫p2指明新建立的硬链接的路径名
硬链接的限制 >不允许用户给目录创建硬链接 >只有在同一个文件系统的文件之间才能创建硬链接 冬车 软链接(symbolic link) >符号链接是一种特殊的文件(短文件),它包含另一个文件的 任意一个路径名 >可以指向任意一个文件系统的任意文件,甚至一个不存在的文 件 >下面的命令可以创建一个软链接 In -s pl p2 ● p2指明新建立的软连接的路径名。在实现上,文件系统抽出p2的目 录部分,在此目录下创建一个符号链接文件 cience and Techno 嵌入式系统实验室 2023/7/14 Linux OS analysis 10/92 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 10/92 ❖ 硬链接的限制 ➢ 不允许用户给目录创建硬链接 ➢ 只有在同一个文件系统的文件之间才能创建硬链接 ❖ 软链接(symbolic link) ➢ 符号链接是一种特殊的文件(短文件),它包含另一个文件的 任意一个路径名 ➢ 可以指向任意一个文件系统的任意文件,甚至一个不存在的文 件 ➢ 下面的命令可以创建一个软链接 $ ln -s p1 p2 ⚫ p2指明新建立的软连接的路径名。在实现上,文件系统抽出p2的目 录部分,在此目录下创建一个符号链接文件
文件类型 冬Uniⅸ文件的类型可以是 >常规文件(regular file) >目录 基本类型 >符号链接 >面向块的设备文件 设备和驱动相关 >面向字符的设备文件 >管道和命名管道 用于进程间通信 > 套接字 tof Science and Technolos 嵌入式系统实验室 2023/7/14 Linux OS analysis 11192 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 11/92 文件类型 ❖Unix文件的类型可以是 ➢常规文件(regular file) ➢目录 ➢符号链接 ➢面向块的设备文件 ➢面向字符的设备文件 ➢管道和命名管道 ➢套接字 基本类型 设备和驱动相关 用于进程间通信