apue第4章

4.1stat函数 

第2个参数是一个stat结构体指针,它包含文件的相关信息

stat函数将返回与此命名文件有关的信息结构,fstat返回描述符打开文件的有关信息

ls相关命令使用stat函数实现功能

4.3文件类型

除了普通文件和目录还有其他的文件

buf指针指向一个stat结构

总之这几个函数的功能就是将一个文件的属性输入一个结构体,然后通过调用壳函数来得到该文件的类型,成功则返回0,不成功返回-1

4.4设置用户ID和设置组ID

这两位可分别用常量S_ISUID和S_ISGID测试st_mode设置

stat结构体重的st_uid和st_gid分别表示文件所有者ID和组所有者ID

4.5文件访问权限

st_mode也包含了对文件的访问权限位

4.6新文件和目录的所有权

新文件的用户ID设置为进程的有效用户ID,关于组可以有两种选择

(1)新文件的组ID可以是进程的有效组ID

(2)新文件的组ID可以是它所在目录组ID

4.7access和faccessat函数

即使一个进程在超级用户权限下运行,但是它仍可能想验证其实际用户能否访问一个给定的文件,access和faccessat函数就是按实际用户ID和实际组ID进行访问权限测试的

4.8umask函数

umask函数为进程设置文件模式创建屏蔽字,并返回之前的值

总之就是在一个用户权限下umask确定了该用户新建的文件权限,就算创建的时候文件访问权限位比umask多,也只会按照umask权限来创建

4.9chmod fchmod和fchmodat函数

chmod函数自动清除s权限位

4.11chown、fchown、fchownat和lchown函数

更改用户ID

4.13文件截断

4.15link和unlink函数

用link创建一个指向现有文件的链接

用unlink解除一个链接,如果链接等于0则删除该文件

4.16 rename和renameat函数

显而易见,对文件或者目录进行重命名

4.17符号链接

符号链接是对一个文件的间接指针

硬链接通常要求链接和文件位于同一个文件系统中,并且只有root才能创建指向目录的硬链接

4.18创建和读取符号链接

创建一个指向actualpath的新目录项sympath,在创建此符号链接时,并不需要actualpath已经存在,并且actualpath和sympath并不需要位于同一文件系统中。

4.21mkdir、mkdirat和rmdir

创建目录和删除目录

4.23chdir、fchdir和getcwd函数

进程调用chdir和fchdir函数可以更改当前工作目录

发布了80 篇原创文章 · 获赞 2 · 访问量 2527
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览