日期:2014-05-16  浏览次数:20660 次

linux文件管理模式及目录管理操作

一、linux文件系统管理

1、  linuxVFS虚拟文件系统

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