Linux文件与目录控制函数讲解

1.掌握文件属性获取与修改相关的操作函数
fstat()/chmod()/chown()…
2.掌握目录操作相关的函数
mkdir()/rmdir()/chdir()/opendir()/readdir()…
3.掌握文件删除、修改、重命名相关的函数
unlink()/remove()/rename()…
4.掌握符号连接相关的函数

symlink()/readsymlink()…


1.1了解UNIX文件系统的基础知识


1.2


1.3


1.4例子



2.1取得文件类型


2.2



3.1文件存取许可权限

1)我们用名字打开任一类型的文件时,对该名字中包含的每一个目录,包括它可能隐含的当前工作目录都应具有执行许可权。
2)对于一个文件的读许可权决定了我们是否能够打开该文件进行读操作。这对应于open函数的O_RDONLY和O_RDWR标志。
3)对于一个文件的写许可权决定了我们是否能够打开该文件进行写操作。这对应于open函数的O_WRONLY和O_RDWR标志。
4)为了在open函数中对一个文件指定O_TRUNC标志,必须对该文件具有写许可权。
5)为了在一个目录中创建一个新文件,必须对该目录具有写许可权和执行许可权。
6)为了删除一个文件,必须对包含该文件的目录具有写许可权和执行许可权。对该文件本身则不需要有读、写许可权。
7)如果用6个exec函数中的任何一个执行某个文件,都必须对该文件具有执行许可权。

进程每次打开、创建或删除一个文件时,内核就进行文件存取许可权测试,而这种测试可能涉及文件的所有者(st_uid和st_gid),进程的有效ID(有效用户ID和有效组ID)以及进程的添加组ID(若支持的话)。


3.2umask()


3.3chmod()/fchmod()



3.5 chmod()-examples


3.6chmod()-examples


3.7文件长度

struct stat结构的成员st_size包含了以字节为单位的该文件的长度。此字段只对普通文件、目录文件和符号连接有意义。
对于普通文件,其文件长度可以是0,在读这种文件时,将得到文件结束指示。
对于目录,文件长度通常是一个数,例如16或512的整倍数。
对于符号连接,文件长度是在文件名中的实际字节数。 

3.8link()/unlink()/remove()/rename()


3.9link()/unlink()/remove()/rename()


3.10opendir()/readdir()和结构体dirent





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值