高级文件I/O操作全解析
1. 修改i节点
在文件操作过程中,i节点中的各种数据字段会发生变化。部分字段可通过特定系统调用直接修改,具体如下表所示:
| I-Node字段 | 描述 | 修改方式 |
| — | — | — |
| st_dev | 文件系统的设备ID | 固定 |
| st_ino | i编号 | 固定 |
| st_mode | 模式 | chmod, fchmod |
| st_nlink | 硬链接数量 | 副作用 |
| st_uid | 用户ID | chown, fchown, lchown |
| st_gid | 组ID | chown, fchown, lchown |
| st_rdev | 设备ID(如果是特殊文件) | 固定 |
| st_size | 字节大小 | 副作用 |
| st_atime | 最后访问时间 | utime |
| st_mtime | 最后数据修改时间 | utime |
| st_ctime | 最后i节点修改时间 | 副作用 |
| st_blksize | 最佳I/O大小 | 固定 |
| st_blocks | 分配的512字节块 | 副作用 |
“固定”表示该字段不可更改,若要改变需创建新的i节点;“副作用”表示该字段只能作为其他操作的附带结果进行更改,不能直接修改。
1.1 chmod和fchmod系统调用
- chmod :通过路径更改文件模式
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



