第七章 文件操作
-
一、文件操作级别(五个阶别,5/6一个级别,由低到高)
一、硬件级别文件操作
大部分创建和维护系统必不可少的工具 如fdisk
二、操作系统内核的文件系统函数
每个操作系统内核均可为文件操作提供支持(UNIX中内核函数k开头)
三、系统调用
用户模式下程序使用系统调用来访问内核函数
四、I/O库函数
五、用户命令
比如
六、sh脚本
-
二、文件I/O操作
-
三、低级别文件操作
-
分区
一个存储设备,被分为几个逻辑单元。
例子
在linux下创建一个mgdisk磁盘映像
在磁盘映像上运行fdisk
-
格式化分区
Mount 命令将文件系统挂在到根目录的mnt中,二umount则是相反
-
挂载分区
Man 8 losetup 命令
- 四、EXT2文件系统介绍
Linux系统的默认文件系统
-
EXT2文件系统的数据结构
-
超级块(用于容纳整个文件系统的信息)
-
块组描述符
-
位图
-
索引结点
-
目录条目
第八章 使用系统调用进行文件操作
-
一、系统调用
-
二、系统调用手册页
结构: man 2 name (将name改为对应的系统调用函数即可) -
三、使用系统调用进行文件操作
此部分实现的都是C语言里的函数,包括chown、chmod等linux常用的命令都有。
-
四、常用系统调用
-
五、链接文件
硬链接
软连接
使用场景:
- 六、STAT系统调用
-
Stat、fstat、lstat
作用描述
-
stat结构体
-
文件类型和权限(stat结构体中mode_t st_mode)
Tttt:文件的类型
Fff:文件的特殊用法
后面的9位对应user、group、other对该文件的权限 -
opendir-readdir函数
- 七、open-close-lseek系统调用
-
1、打开文件和文件描述符
-
2、关闭文件描述符
-
3、lseek文件描述符
-
八、read()系统调用
-
九、write()系统调用