获取文件属性
系统调用Stat/fstat/lstat获取文件索引节点(inode)中属性信息
(stat用文件名获取属性
Ifstat用文件描述符(用前需open一下) lstat用于获取符号链接文件本身属性判断文件类型:
方法1:通过调用linux系统定义的类型判断宏.是则返回宏,否则返回0.9
方法2:检查st-mode高四位的值判断,将st-mode与文件权限掩码S-IFMT.进行”与”操作、保留高四位与文件类型宏进行比较判断文件权限:
将st-mode与各用户读、写和执行权限进行”与”操作来判断与操作的结果为1.说明文件所有者有读权限,若为0,则没有
用户/组ID与名字的转换
1.用户user和用户组group
etelpasswd中保存系统帐户信息(用户ID,组D)、主目录 shell)
2.getpwuid可根据uid在passwd中获取用户信息、在 passwd结构体变量中返回.getgrgrd根据gìd在 basswd中获取组名信息并返回.”
tat的文件属性中有st-uid和st-gid
硬链接&符号链接(软链接)
硬:每个文件名指向词一个索引节点
作用:允许一个文件拥有多个有效路径名(防止误册)软:作用:包含一个文件的位置信息,
1、区别:(令:In原件硬链接(不能对目录创建硬链接)In-S原文件/目录符号链接<2>新增文件
硬:仅增加一个指向原文件的ìnode的文件名软:增加一个真实文件,其有自己的inode<3>删除原文件/目录
硬:使对应inode减1,减为0则删除该文件软:失效后文件仍存在
<4>硬不可以跨文件,软可以
2、调用
link创建一个硬链接 unlink删除链接文件 symlink创建一个软
readlink读取软链接所指文件名调用dup/dup2.制
区别{dup将oldfd复刻到用户文件描述符表中最小可用
dup2可指定将oldfd复制为newfd描述符 int dup lint oldfd)
int dup 2 lint oldfdl, int newfd)
最新评论