Linux硬链接 软链接ITeye - 娱乐之横扫全球

Linux硬链接 软链接ITeye

2019-01-10 15:51:25 | 作者: 南蓉 | 标签: 链接,衔接,文件 | 浏览: 1140

1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默许情况下,ln指令产僵硬链接。

【硬衔接】
硬衔接指经过索引节点来进行衔接。在Linux的文件体系中,保存在磁盘分区中的文件不论是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种衔接就是硬衔接。硬衔接的作用是答应一个文件具有多个有用路径名,这样用户就能够树立硬衔接到重要文件,以避免“误删”的功用。其原因如上所述,由于对应该目录的索引节点有一个以上的衔接。只删去一个衔接并不影响索引节点自身和其它的衔接,只要当最终一个衔接被删去后,文件的数据块及目录的衔接才会被开释。也就是说,文件真实删去的条件是与之相关的一切硬衔接文件均被删去。

硬衔接的2个约束:

l不答应给目录创立硬链接

l只要在同一文件体系中的文件之间才干创立链接。 即不同硬盘分区上的两个文件之间不能够树立硬链接。这是由于硬链接是经过结点指向原始文件的,而文件的i-结点在不同的文件体系中可能会不同。

 

【软衔接】
别的一种衔接称之为符号衔接(Symbolic Link),也叫软衔接。软链接文件有类似于Windows的快捷方式。它实际上是一个特别的文件。在符号衔接中,文件实际上是一个文本文件,其间包括的有另一文件的方位信息。

这就答应符号链接(常常简写为symlinks)指向坐落其他分区、乃至是其他网络硬盘上的某个文件

 

2.经过试验加深了解
[oracle@Linux]$ touch f1 #创立一个测验文件f1
[oracle@Linux]$ ln f1 f2 #创立f1的一个硬衔接文件f2
[oracle@Linux]$ ln -s f1 f3 #创立f1的一个符号衔接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 - f1

从上面的成果中能够看出,硬衔接文件f2与原文件f1的inode节点相同,均为9797648,可是符号衔接文件的inode节点不同。

[oracle@Linux]$ echo "I am f1 file" f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm -f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory

经过上面的测验能够看出:当删去原始文件f1后,硬衔接f2不受影响,可是符号衔接f3文件无效

3.总结
依此您能够做一些相关的测验,能够得到以下悉数定论:
1).删去符号衔接f3,对f1,f2无影响;
2).删去硬衔接f2,对f1,f3也无影响;
3).删去原文件f1,对硬衔接f2没有影响,导致符号衔接f3失效;
4).一起删去原文件f1,硬衔接f2,整个文件会真实的被删去。

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章