您的位置:首页 > 其它

UNIX硬链接,软链接(符号链接),文件复制

2015-10-07 08:14 316 查看
学习APUE第四章被硬链接和符号链接搞的头晕,下面综合网上和课本资料总结如下:

一.首先在区别前得搞清楚UNIX文件系统的基本结构

(1).UNIX文件系统:管理计算机硬件的软件,详情参见以下网址:http://www.fix.com.cn/datarecover/data-recovery48.htmhttp://

(2).基本结构:即文件系统是如何管理数据的,也就是数据结构的类型,此处所讲的是inode数据结构。

(3)inode数据结构:(摘自鸟哥私房菜基础学习篇第三版P198)

super  block(超级块):记录此文件系统的整体信息,包括inode/block的总量和使用量,剩余量以及文件系统的格式和相关的信息;

block(数据块):实际记录文件的内容,若文件太大,会占用多个block。

目录项:由于一个i节点可能会有不同的文件名,所以维护这些文件名的数组即为目录项,目录项中的每一项包括文件索引节点i的节点号和文件名,所以目录只是将文件的名称和它的i节点号结合在一起的一张表。举例来说,i节点和数据块好比一个真实的人,但是这个人可能会有不同的名字(中文名,英文名,外号等等),而这些名字就是它的的目录项,不管你的名字如何变化,我这个人是不会变的。

inode(i节点):记录文件的属性,一个文件占用一个一个Inode,同时记录该文件的数据所在的block号码,一个i节点至少有一个目录项;

希望大家可以结合APUE的P91-P93理解。

二.接下来区别这三个概念

(1)硬链接:也就是上面所说的一个I节点对应不同的目录项,这些不同目录项(文件名)之间的关系就是硬链接。

(2)符号链接(软链接):假设A链接B文件,那么A文件和B文件的inode数据结构的四个部分都不同,也就是在底层无任何关系,当访问时A文件通过寻找自己数据块中的记录的路径找到B文件的目录项(文件名),然后访问B文件的数据。可以利用下图简单粗暴的理解:



(3)文件复制:假设A复制B,则A与B的inode的四部分都不同,无任何关系,只是A和B的数据块部分的数据一模一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: