惠州网站设计,韩雪个人官方网站,起名字公司大全免费,高端玩家1、文件操作基本元素
文件操作相关的最基本元素是#xff1a;目录结构、索引节点和文件的数据本身。 目录结构#xff08;目录项#xff09;索引节点#xff08;i节点#xff09;文件的数据
2、文件系统的三个区域
属性#xff1a; 超级块#xff1a;存放文件系统本身…1、文件操作基本元素
文件操作相关的最基本元素是目录结构、索引节点和文件的数据本身。 目录结构目录项索引节点i节点文件的数据
2、文件系统的三个区域
属性 超级块存放文件系统本身的结构信息 i-节点表存放i-节点信息列表
数据区存放文件内容
文件访问过程从文件名到文件内容在目录中寻找文件名使用编号定位i-节点i-节点包含数据块的列表。
3、link和unlink函数
注link函数是创建的硬链接
#includeunistd.h
int link(const char * existingpath,const char* newpath);
返回成功返回0出错返回-1
功能创建一个指向现存文件链接硬链接
int unlink(const char * pathname);
返回成功返回0出错返回-1
功能删除pathname指定的硬链接并将由pathname所引用的文件链接计数减1.
硬链接创建条件 针对文件创建链接必须是同一个分区只有超级用户才能对目录建立链接文件删除条件 链接计数为0无其它进程打开该文件 if(link(argv[1],argv[i])0)
{perror(linke error);continue;
}
4、硬链接与软链接
4.1使用系统命令创建链接 4.2软链接与硬链接的区别
软链接不能创建数据区域但有自己的i节点来指向文件。
硬链接没有自己的i节点没有自己的单独的数据只是指向i节点 5、Symlink和readlink函数
#includeunistd.h
int symlink(const char *actualpath,const char* sympath);
返回成功返回0出错返回-1
功能创建一个符号链接软链接
int readlink(const char * pathname,char * buf,size_t bufsize);
返回成功返回读到的字节数出错返回-1
功能打开该链接本身并读该链接中的名字
符号链接创建 创建符号链接并不要求actualpath存在可以跨文件系统建立符号链接 6、remove和rename函数
#includeunistd.h
int remove(const char *pathname);
返回成功返回0出错返回-1
功能解除对一个文件或目录的连接int rename(const char * oldname,const char * newname);
返回成功返回0出错返回-1
功能文件或目录更名
对于文件remove的功能与unlink相同
对于目录remove的功能与rmdir相同