Skip to content
This repository has been archived by the owner on Feb 1, 2022. It is now read-only.

Latest commit

 

History

History
151 lines (142 loc) · 3.83 KB

func.md

File metadata and controls

151 lines (142 loc) · 3.83 KB

第04章 文件和目录

章节目录 笔记 类型表

stat结构体成员及其相关的函数

结构体(成员) 说明 分类 函数
struct stat; stat结构体 获取stat结构体 stat() fstat() lstat() fstatat()
mode_t st_mode; 文件类型和访问权限 判断文件类型 S_ISREG() S_ISDIR() S_ISCHR() S_ISBLK() S_ISFIFO() S_ISLINK() S_ISSOCK()
测试访问权限 access() faccessat()
更改访问权限 umask() chmod() fchmod() fchmodat()
ino_t st_ino; i节点编号,stat结构体绝大部分信息来自i节点。 创建指向i节点 link() linkat()
删除指向i节点 unlink() unlinkat()
dev_t st_dev; 文件系统的设备号。 获取主次设备号 major() minor()
dev_t st_rdev; 针对特殊文件的设备号
nlink_t st_nlink; 链接计数,指向 st_ino 的目录项的个数。 \ \
uid_t st_uid; 用户ID 更改所有者、所有组 chown() fchown() fchownat() lchown()
gid_t st_gid; 组ID
off_t st_size; 以字节为单位的文件长度,只对普通文件、目录、符号链接有效。 文件截断 truncate() ftruncate()
struct timespec st_atime; 文件数据的最后修改时间。 修改 atime mtime futimens() utimensat() utimes()
struct timespec st_mtime; 文件数据的最后修改时间。
struct timespec st_ctime; 文件属性的最后修改时间。 \ \
blksize_t st_blksize; best I/O block size. \ \
blkcnt_t st_blocks; number of disk blocks allocated. \ \

与目录块有关的函数

分类函数
重命名文件 rename() renameat()
新建删除目录 mkdir() mkdirat() rmdir()
读目录 opendir() fdopendir() readdir()
rewinddir() closedir() relldir() seekdir()
创建符号链接 symlink() symlinkat()

UFS文件系统


章节目录 笔记 类型表