-
文件属性访问接口:stat,fstat,lstat
-
文件属性结构:struct stat,包括类型及权限,节点编号、设备编号,链接数,所属标识,字节数,操作时间,块大小,块数等信息
-
文件类型(stat.st_mode):普通文件、目录文件(硬链接集)、块文件、字符文件、FIFO、socket,符号链接
-
文件类型通过S_ISXXX()宏来判定
-
文件所属标识:实际用户ID,实际组ID,有效用户ID,有效组ID,附加组ID,保存用户ID,保存组ID
-
文件访问权限:9位权限,用户、组、其他三个范围,每个范围读、写、执行三类
-
进程访问文件权限判定接口:access
-
新建文件所有权及权限:用户id为进程有效用户id,组id为进程有效组id或父目录组id,权限为open指定的mode与用户umask的叠加,umask为权限屏蔽字,设置接口为umask
-
黏住位:用于目录,限制该目录的硬链接的修改,目录下文件的修改
-
文件访问权限修改接口:chmod,fchmod
-
文件所属标识修改接口:chown,fchown,lchown
-
文件长度:普通文件stat.st_size,目录长度为记录长度的倍数,符号链接为路径字符串长度,块设备为stat.st_blksize及stat.st_blocks
-
文件长度修改接口:truncate,ftruncate
-
文件系统:磁盘划分为多个分区,分区置有文件系统,分区划分为多个柱面组,柱面组包括多个i节点及对应的数据块集,i节点包含数据块的指针。目录块是特殊的数据块,包含文件名及指向i节点的指针。指向i节点的指针即硬链接
-
硬链接接口:link,unlink,remove,rename
-
符号链接接口:symlink,readlink
-
文件时间:数据最后访问时间(st_atime),数据最后修改时间(st_mtime),i节点最后更改时间(st_ctime)
-
文件时间操作接口:utime,struct utimbuf
-
目录操作接口:mkdir,rmdir
-
目录访问接口:opendir,readdir,rewinddir,closedir,telldir,seekdir,struct dirent
-
进程工作目录接口:chdir,fchdir,getcwd
-
设备文件接口:stat.st_dev及stat.st_rdev为dev_t类型,保存主设备号和从设备号,通过major和minor访问,只有块设备和字符设备文件有stat.st_rdev属性