第三讲 文件管理
第一节
文件模式
基本的文件操作
查询和修改inode信息
操作目录项
操作文件描述符
创建无名管道
Linux核心编程部分
常规文件
管道ipc
目录文件
设备文件
符号连接
套接字
无名管理是在需要的时候才创建,它并不存在于文件系统当中,也就是没有文件名
命名管道是有文件名,两个进程可以通过同名的管道进行数据的互通。先进先出
套接字是进程通信的方式之一,SOCKET是激动人心的
是系统编程的核心部分
信息节点inode
information 缩写
在linux当中,可以唯一标识一个文件的不是一个文件名,而是一个信息节点
inode包涵文件的所有信息,文件大小,访问权限,硬连接数量等等。
内核信息节点 in-core inode
系统中每打开一个文件就有一个内核信息节点
磁盘信息节点 on-disk inode
每一个文件都有一个磁盘信息节点,第一个文件系统的文件信息节点是不同的
节点的链接与文件信息的关系
文件管理
1,文件的模式
文件模式的定义
低12 访问权限 文件权限修饰符
写成6位8进制
低三位 访问权限 4 位 修饰 最后两位 文件类型
如041777 100755
·文件访问权限
文件权限修饰符与类型
是一个位掩码
表示setuid,setgid,stiky
忽略shell脚本,shell不安全
setuid和setgid对目录文件没有意义
sitky不太重要,旧的系统不支持分页,
分页是按需加载
对目录可以使用stiky,使用后只有所有者和root可以删除
·文件类型
04目录文件 06块设备 不可更改 创建时被设置
·sys/stat.h
常使用文件权限常量表示
4 3 2
读写执行的组合7 读写4
文件类型常量
S_IFMT 0170000 文件模式位运算
S_IFSOCK 0140000 套接字
S_IFLNK 0120000 符号链接
S_IFREG 0100000 常规文件
S_FBLK 0060000 块设备
S_IFDIR 0040000 目录文件
S_IFCHR 0020000 字符
S_IFIFO 0010000 先进先出的管道
后四位权限
进程的umask
#include
int umask(int newmask>
通过设置umask可以使得新创建的文件使用umask的掩码中设置的一样
例如umask的用法
第二节 基本的文件操作
阅读(723) | 评论(0) | 转发(0) |