linux下的硬链接和软连接区别及ext2文件系统

来源:互联网 发布:淘宝差评有什么用 编辑:程序博客网 时间:2024/06/05 17:51

所谓链接,就是共享文件与访问共享文件的文件之间建立起得联系。

我们知道,在linux中,创建文件时,系统为其分配了一个inode,inode是描述文件特性的数据结构,有自己的编号。当文件系统启动时,在内存中创建一个数组,inode编号就放在数组中,以便于快速进行文件访问。和inode编号一起的还有文件名。inode的信息中并不包括实际文件名和实际数据,而是

文件类型,大小,属主关系,访问权限,时间轴以及文件数据块在磁盘上的地址。

硬链接创建一个指针,指针指向inode,当修改连接的文件时,相应的也会修改源文件,这和指针指向同一地址的道理是相同的。只有当指向该inode的指针树为0时,源文件才会被删除。硬链接不能跨文件系统创建,也不能创建不存在的文件。大小与源文件一致。本质上是一致的。

软连接创建的指针并不指向inode,而是指向文件路径名。所以删除软连接并不会影响源文件。连接数目也不会增加,因为他们是属于完全不同的文件,文件大小不一致,软件的这种符号连接,大小只有文件路径名。当打开这个文件连接时,会先访问这个文件路径名,从中找到inode,再从inode中访问源文件。

这是我学习所得,欢迎指正。
原创粉丝点击