硬链接和软链接

一、硬链接(Hard Link)的概念

硬链接也称为实体连接它是在某个目录下新增一笔档名链接到某 inode 号关连记彔​。

硬链接本质:同一个文件名,但是有多个名字,原文件删除时,新建的文件仍然可以使用。

硬链接的创建:

语法:ln  filename  [linkname ]

硬链接和软链接_第1张图片
从这里面可以发现112 和111 两个档名都链接到 1835037 inode的节点号码,所以他们的档案的权限和属性是一样的,而且第二个字段有原来的1变成2了,所以使用 hard link 讴定链接文件时,磁盘癿空间不 inode 癿数目都不会改变。

二、软链接(Symbolic Link)的概念

也叫做符号链接它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。

软链接的本质:可以针对目录创建,可以跨分区、跨设备;一旦源文件删除了,就不起作用了,软链接是工作中最常用的。

软链接的创建:

语法:ln  -s  filename  [linkname]

1、创建/app下的目录

mkdir -p /app/hex/{a1/{b1,b2,b3},a2,a3,a4,a5/{c1/F1,c2}}用tree显示目录树

硬链接和软链接_第2张图片

2、在以F1为源文件,b3目为文件创建一个软链接;先找到目标文件,目标用相对路径../app/hex/a1/b3/link来表示,link 这文件是自己创建的,在从目标文件中找回源的相对路径,路径用 ../../a5/c1/F1来表示,这样它的软链接就建立起来了。

由上面结果我们可以知道两个档案挃指向不同的 inode 号码,当然就是两个独立的档案存在!而链接结档的重要内容就是他会写上目标档案的文件名,浅蓝色的表示这链接是可以用的。

三、软链接和硬链接之间的区别:

1、硬链接共享一个inode节点,删除了源文件不影响;软链接一个链接有一个节点,删除源文件将影响其工作。

2、创建硬链接链接数加1,不能跨分区创建链接,不能跨设备,不支持目录创建;软链接支持跨分区,跨设备,支持目录的创建。

3、软链接创建时,用的相对路径是相对于软链接文件的路径不是相对于当前工作目录的路径。

你可能感兴趣的:(硬链接和软链接)