UNIX高级环境编程读书笔记(chapter4)
来源:互联网 发布:winrar解压缩软件4.20 编辑:程序博客网 时间:2024/05/19 19:14
Chapter 4 文件和目录
4.0.给定一个pathname
(1)stat函数返回一个与此命名有关的信息结构.
(2)fstat函数获得已在描述符filedes上打开的文件的有关信息.
(3)lstat函数类似于stat,但是当命名的文件是一个符号链接时,lstat返回该符号链接的有关信息,而不是由该符号链接引用的文件的信息.
4.1文件类型
(1)普通文件
(2)目录文件
(3)字符特殊文件
(4)块特殊文件
(5)FIFO
(6)套接口
(7)符号链接
4.2 文件存取许可权
每个文件有9个存取许可权位, 可将他们分成三类:
用户-读
用户-写
用户-执行
组-读
组-写
组-执行
其他-读
其他-写
其他-执行
chmod(1)命令用来修改文件的所有者.
4.3 access函数: 是按实际用户ID和实际组ID来测试其存取能力.
4.4 umask函数:umask函数为进程设置文件方式创建屏蔽字,并返回以前的值
4.5 chmod和fchmod函数:这两个函数使我们可以修改现存文件的存取许可权。
chmod 函数在指定的文件上进行操作, 而fchmod函数则对已打开的文件进行操作。
4.0.给定一个pathname
(1)stat函数返回一个与此命名有关的信息结构.
(2)fstat函数获得已在描述符filedes上打开的文件的有关信息.
(3)lstat函数类似于stat,但是当命名的文件是一个符号链接时,lstat返回该符号链接的有关信息,而不是由该符号链接引用的文件的信息.
4.1文件类型
(1)普通文件
(2)目录文件
(3)字符特殊文件
(4)块特殊文件
(5)FIFO
(6)套接口
(7)符号链接
4.2 文件存取许可权
每个文件有9个存取许可权位, 可将他们分成三类:
用户-读
用户-写
用户-执行
组-读
组-写
组-执行
其他-读
其他-写
其他-执行
chmod(1)命令用来修改文件的所有者.
4.3 access函数: 是按实际用户ID和实际组ID来测试其存取能力.
#include "apue.h"#include <sys/types.h>#include <fcntl.h>intmain(int argc, char *argv[]){ if (argc != 2) { err_quit("usage: ./4.1 <pathname>"); } if (access(argv[1], R_OK) < 0) { err_ret("access error for %s\n", argv[1]); } else { printf("read access OK\n"); } if (open(argv[1], O_RDONLY) < 0) { err_ret("open error for %s\n", argv[1]); } else { printf("open for %s OK!\n", argv[1]); } exit(0);}
4.4 umask函数:umask函数为进程设置文件方式创建屏蔽字,并返回以前的值
#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "apue.h"intmain(void){ umask(0); if (creat("foo", S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) < 0) { err_sys("creat error for foo\n"); } umask( S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); if (creat("bar", S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) < 0) { err_sys("creat error for bar\n"); } exit(0);}
4.5 chmod和fchmod函数:这两个函数使我们可以修改现存文件的存取许可权。
chmod 函数在指定的文件上进行操作, 而fchmod函数则对已打开的文件进行操作。
0 0
- UNIX高级环境编程读书笔记(chapter4)
- 《Unix环境高级编程》读书笔记(1)
- Unix环境高级编程读书笔记(一)
- UNIX高级环境编程读书笔记(chapter5)
- UNIX高级环境编程读书笔记(chapter7)
- UNIX高级环境编程读书笔记(chapter8)
- UNIX高级环境编程读书笔记(chapter9)
- UNIX高级环境编程读书笔记(chapter10)
- UNIX高级环境编程读书笔记(chapter11)
- UNIX高级环境编程读书笔记(chapter12)
- UNIX高级环境编程读书笔记(chapter13)
- UNIX高级环境编程读书笔记(chapter14)
- 《unix环境高级编程》 读书笔记 (1)
- 《unix环境高级编程》 读书笔记 (2)
- 《unix环境高级编程》 读书笔记 (3)
- 《unix环境高级编程》 读书笔记 (4)
- 《unix环境高级编程》 读书笔记 (5)
- 《unix环境高级编程》 读书笔记 (6)
- 华为机试题---随机打印50个随机(4-10长度)的字符串
- Codeforces Round #235 (Div. 2)
- 未分类--Windows API--EnumProcesses
- 未分类--Windows API--OpenProcess
- 001_016 Python 替换字符串中的子串
- UNIX高级环境编程读书笔记(chapter4)
- Java 解析xml文件
- UNIX高级环境编程读书笔记(chapter5)
- UNIX高级环境编程读书笔记(chapter7)
- codeforces round #235 A. Vanya and Cards
- 华为机试题----n个长度的字符串中取m个长度的组合
- 3.11 周一 数据结构 数电
- 001_017 Python 替换字符串中的子串string.template
- HTML固定列表宽度,超出部分自动隐藏,设置2倍行距,单元格占据两行、两列