日期:2014-05-16 浏览次数:20645 次
一、linux文件系统管理
1、 linux下VFS虚拟文件系统
linux采用VFS来管理文件系统,通过VFS,可以为访问文件系统的系统调用提供统一的抽象接口。Linux系统内核采用inode结构体来保存与文件相关的信息,数据结构struct inode 比如访问权限,文件大小、创建时间等,这些信息被称为文件的元数据。
2、 linux文件类型及权限
文件属性存储结构体inode的成员i_mode存储着该文件的文件类型和权限。Linux使用了16位的文件模式来设定文件访问的属性,这16位信息标识了文件的类型,文件权限修饰位和文件访问权限位。
3、 linux文件类型
linux文件类型主要有:目录文件(d)、字符设备文件(c)、块设备文件(b)、常规文件、管道文件(p)、符号连接文件(l)和套接字文件(s)。
4、 linux文件属性管理
1)、读取文件属性
Int stat(_const char *_file,struct stat *_buf) 读取任意类型文件的属性,第1个参数欲读取状态文件路径、第2个参数为文件属性临时存放位置,其类型为struct stat。
Int lstat(_const char *_file,struct stat *_buf) 获取连接文件自身的属性
5、 修改文件权限属性
Int chmod (_const char *_file , _mode_t _mode) 第1个参数为要修改权限的文件名,第2个参数为修改的权限描述。
6、 修改系统umask值
在创建文件时,系统需要给该文件一个默认的权限,创建一个普通文件时的默认权限为0666-umask,如果创建一个目录,默认权限为0777-umask。
_mode_t umask (_mode_t _mask ) 设置创建文件的掩码函数
-mode_t getumask(void) 获得当前系统的umask值