硬链接
硬链接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中,多个文件名指向同一索引节点是存在的,比如A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬链接的作用是允许一个文件拥有多个有效路径名,这样用户可以建立硬链接到重要文件,以防止误删的功能。其原因是因为对应目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
软链接
软链接也被称之为符号链接,也叫做软链接。软链接文件类似于Windows的快捷方式,它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A是B的软链接,A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,A仍然存在,但指向的是一个无效的链接。
1、定义不同软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
硬链接就是一个文件的一个或多个文件名。把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。
2、限制不同
硬链接只能对已存在的文件进行创建,不能交叉文件系统进行硬链接的创建;
软链接可对不存在的文件或目录创建软链接;可交叉文件系统;
/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"/>
3、创建方式不同
硬链接不能对目录进行创建,只可对文件创建;
软链接可对文件或目录创建;
4、影响不同
删除一个硬链接文件并不影响其他有相同inode号的文件。
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即danglinglink,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
Linux中的软链接类似于windows中的快捷方式。 创建方式:ln -s oldfile newfile。 例:文件软链接 (目录软链接也是一样的 *** 作方式)。 1、tmp 目录下创建一个 test.txt 文件。 2、ln -s test.txt test,为 test.txt 文件创建一个名为 test 的软链接。 3、ll 查看详情会发现有一个蓝色的 test -->test.txt (test 指向 test.txt)。同时文件类型是 l 开头,l 是指链接文件的意思。 4、对软链接文件进行 vim *** 作。输入This is ln -s test. :wq保存并退出。 5、通过cat test 和 cat test.txt 查看内容。得出的结果都是一样的。既软链接 test 和 test.txt 已经建立关联,对 test *** 作等于对 test.txt *** 作。tips:软链接特点。 1、可以对不存在的文件创建软链接。 tmp 目录下除了 test 和 test.txt 并没有其他文件。 此时 ln -s abc.txt t1,为不存在的 abc.txt 文件创建一个 t1 的软链接。t1 软链接是可以创建 的,只是由于没有真实存在的 abc.txt 文件。通过 ll 查看详情,系统会在 abc.txt 处用红色闪 烁高光发出提示,意指abc.txt文件不存在。 此时,tmp 目录下新建一个 abc.txt 文件,t1 软链接到 abc.txt 文件就会正常。不会再有红色 提示。 2、可以对文件 或者 目录创建软链接,目录创建软链接和文件创建软链接流程一样。 3、删除软链接,不会影响它的指向文件。 vim t1:编辑 t1 软链接,输入1 t1 的内容保存退出。 删除 t1 软链接,tmp 目录下已没有软链接指向 abc.txt 文件。 此时,cat abc.txt 文件可以查看内容,也可以 vim abc.txt 增加 2 abc.txt 内容。证实了,删 除软链接,不会影响它的指向文件。 4、删除了指向文件,该软链接将变为无效连接。 当 t1 软链接指向实际文件 abc.txt 的时候,t1是可以对 abc.txt 进行增删改查 *** 作的。若 rm - rf abc.txt 删除了实质性的 abc.txt 文件后,t1 将不能做任何 *** 作。失去了实质性文件而存在 的软链接等同于创建一个空的软链接效果一样。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)