第七/八章读书笔记
第七章 文件操作
-
一、文件操作级别(五个阶别,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()系统调用
![]()
































浙公网安备 33010602011771号