### 5.1.1 干什么 `sys/stat.h` 提供文件元数据(metadata,即记录在 inode 上的属性信息,不含文件内容)的读取与权限位修改能力:取大小、权限位、属主、时间戳,检查访问权限,建目录,改权限。它不读取也不写入文件内容,内容读写由 `stdio.h` 或 `unistd.h` 的 `read`/`write` 完成,本库只面向 inode(索引节点,文件系统为每个文件分配的元数据记录)。 它的职责边界是这样的。本库读取的是 inode 上的静态属性与权限位,不负责内容传输。网络状态、进程身份等其它对象的状态由各自头文件提供。现代内核中按路径取状态的接口统一收敛到 `newfstatat`,旧号 `stat=4` 仅为兼容保留。 ### 5.1.2 谁在调 * `ls -l`、`stat` 命令自身经 `stat`/`fstat` 读取元数据并展示权限位、属主、大小与时间。 * 文件上传校验、安装程序经 `stat` 判断目标大小与文件类型,决定是否接收。 * 系统服务启动脚本经 `access` 检查配置文件是否可读、可执行,再决定加载路径。