软链接硬链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软链接硬链接相关的知识,希望对你有一定的参考价值。

在明白软链接与硬链接之前首先要明白一些基本概念。
文件:文件名+数据
linux中文件被分为两部分:用户数据、元数据。
用户数据:文件数据块,数据块是记录数据真实存放的地方。
元数据:保存文件的附加属性(inode节点号就存放于元数据中)inode才是文件的唯一标示而不是文件名,文件名只是为了方便记忆。
索引节点(inode):Linux文件系统中,保存在磁盘上的文件不管事什么类型的,系统都会给他分配一个inode节点号,称为索引节点,硬链接即通过索引节点来进行链接。
索引节点(inode)只有在同一文件系统中才是唯一的,当linux系统挂载多个文件系统时,会有相同索引节点的情况出现,因此硬链接创建时不能跨文件系统。
硬链接:所有的链接都指向同一个索引节点。ln f1 f2
软链接:单独创建一个索引节点。ln -s f1 f2 。
软连接:软连接的索引节点是单独分配的,且该节点的数据块中存放的是链接的文件的路径名指向。因此软链接也是一中普通的文件只是内容有点特殊存放的是另一个文件的路径。
注:软连接时路径指向用绝对路径较好,以防链接移动之后不能作用成为死链接。

自我理解这里为什么用链接,和C中的链表有点相识,硬链接相当于是许多的指向同一个内存地址的指针,而软链接则是一个双重指针指向一个指向内存地址的指针的。

以上是关于软链接硬链接的主要内容,如果未能解决你的问题,请参考以下文章

软链接和硬链接

硬链接与软链接的区别

Linux中硬链接文件和软链接文件有啥区别?

Linux硬链接,软连接和复制的区别

Linux中硬链接和软链接的区别与联系!

Linux软链接和硬链接