目录
stat 库
stat(status,状态)库,用于获取文件或目录的状态信息,如文件大小、创建时间、修改时间等,以及提供了对系统文件和目录进行操作的接口。
结构体
- struct stat :描述文件和目录的元数据信息,包括文件类型、文件大小、权限、时间戳等。
 
struct stat { 
	dev_t       st_dev;         /* ID of device containing file */
	ino_t       st_ino;         /* File serial number */
	mode_t      st_mode;        /* File type and permissions */
	nlink_t     st_nlink;       /* Number of hard links */
	uid_t       st_uid;         /* User ID of the file */
	gid_t       st_gid;         /* Group ID of the file */
	dev_t       st_rdev;        /* Device ID */
	off_t       st_size;        /* file size, in bytes */
	blkcnt_t    st_blocks;      /* blocks allocated for file */
	blksize_t   st_blksize;     /* optimal blocksize for I/O */
	time_t      st_atime;       /* time of last access */
	time_t      st_mtime;       /* time of last data modification */
	time_t      st_ctime;       /* time of last status change */
};
int stat(const char *path, struct stat *buf) 
- 1
 
- 获取文件描述符 fd 所关联的文件的元数据信息,并将结果存储到 buf 中。
 
int fstat(int fd, struct stat *buf) 
- 1
 
- 获取符号链接文件的元数据信息,并将结果存储到 buf 中。如果 path 是一个符号链接,那么获取的是符号链接指向的文件的元数据信息,而不是符号链接本身的元数据信息。
 
int lstat(const char *path, struct stat *buf) 
- 1
 
- 修改指定路径的文件或目录的权限。
 
int chmod(const char *path, mode_t mode) 
- 1
 
- 创建指定路径的目录,并设置权限为 mode。
 
int mkdir(const char *pathname, mode_t mode) 
- 1
 
- 创建指定路径的文件,文件类型和权限由 mode 指定,设备号由 dev 指定。
 
int mknod(const char *pathname, mode_t mode, dev_t dev) 
- 1
 
ST mode 常量
文件类型:
- S_IFMT :用于屏蔽文件类型的位掩码;
 - S_IFSOCK :套接字文件类型;
 - S_IFLNK :符号链接文件类型;
 - S_IFREG :普通文件类型;
 - S_IFBLK :块设备文件类型;
 - S_IFDIR :目录文件类型;
 - S_IFCHR :字符设备文件类型;
 - S_IFIFO :管道文件类型;
 
文件权限:
-  
S_IRUSR :用户可读权限;
 -  
S_IWUSR :用户可写权限;
 -  
S_IXUSR :用户可执行权限;
 -  
S_IRGRP :组可读权限;
 -  
S_IWGRP :组可写权限;
 -  
S_IXGRP :组可执行权限;
 -  
S_IROTH :其他人可读权限;
 -  
S_IWOTH :其他人可写权限;
 -  
S_IXOTH :其他人可执行权限;
 

                

















