文件类型:普通文件(文本文件,二进制文件)、目录文件、链接文件、设备文件、管道文件。
文件的权限:读、写、执行
文件的相关信息:目录结构、索引节点、文件数据
索引节点的stat结构
struct stat{
dev_t st_dev;//文件使用的设备号
ino_t st_inl;//索引节点号
mode_t st_mode;//文件访问权限
nlink_t st_nlink;//文件的硬链接数
uid_t st_uid;//所用者用户识别号
gid_t st_gid;//组识别号
dev_t st_rdev;//设备文件的设备号
off_t st_size;//以字节为单位的文件容量
unsigned long st_blksize;//包含该文件的磁盘块的大小
unsigned long st_blocks;//文件所占的磁盘块
time_t st_atime;//最后一次访问该文件的时间
time_t st_mtime;//最后一次修改该文件的时间
time_t st_ctime;//最后一次改变该文件状态的时间
} ;
在该结构体中,st_dev对应于每一个文件名,代表包含这个文件名和相应的索引节点的文件系统的设备号,st_rdev则只有字符设备和快设备具有,表示的是实际设备的设备号
文件操作相关函数
文件创建
函数:int creat(const char *pathname,mode_t mode);
头文件:sys/types.h sys/stat.h fcntl.h
说明:
mode取值如下:
mode取值 |
含义 |
S_IRUSR |
文件所有者的读权限 |
S_IWUSR |
文件安所有者的写权限 |
S_IXUSR |
文件所有者的执行权限 |
S_IRGRP |
文件所有者同组用户的读权限 |
S_IWGRP |
文件所有者同组用户的写权限 |
S_IXGRP |
文件所有者同组用户的执行权限 |
S_IROTH |
其他用户的读权限 |
S_IWOTH |
其他用户的写权限 |
S_IXOTH |