结构体(成员) | 说明 | 分类 | 函数 |
---|---|---|---|
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() |