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