什么是Linux *** 作系统文件链接

什么是Linux *** 作系统文件链接,第1张

链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。为解决文件的共享使用,Linux系统中将链接分为两种:一种是硬链接,另一种是符号链接,又叫做软链接,接下来我们看看相关的内容介绍。

硬链接

硬链接指通过索引节点来进行连接。在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 将不能做任何 *** 作。失去了实质性文件而存在       的软链接等同于创建一个空的软链接效果一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6049796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存