(1)Linux系统链接的概念及介绍
①硬链接:ln -源文件 目的文件
软链接:ln -s 源文件 目的文件
(2)Linux系统属性硬链接介绍及文件删除原理
①具有相同inode节点号的多个文件是互为硬链接文件的;
②删除硬链接文件或者删除源文件任意之一,文件实体并没有删除;
③两者都删除才会真正删除;
④当所有的硬链接文件及源文件被删除后,再存放新的数据会占用这个文件的空间,或者磁盘fsck检查的时候,删除的数据也会被系统回收;
⑤硬链接文件相当于文件的另一个入口(超市的前后门);
⑥可以通过文件设置硬链接文件,防止文件被删除;
⑦通过执行命令“ln原文件 硬链接”文件,即可完成创建硬链接;
⑧硬链接文件可以用rm命令删除;
⑨对于静态文件(没有文件进行调用的文件)来讲,当对应的硬链接数为0(i-link)文件就被删除。i-link的查看方法,ls -l的第三列就可以查看到。
(3)Linux系统硬链接知识总结与实践
1.ls第三列表示硬链接的数量:
2.增加一个硬链接文件:
通过ls -l显示发现此时的硬链接数量变为了2
原文件与链接文件的inode号相同均为20:
并且两者的文件内容都是一样的:
删除原文件后,发现链接文件中的内容依旧存在:
删除链接文件,发现链接数由原来的2变为了1:
3.发现链接数为3,通过inode号查找隐藏的一个链接文件:
(4)Linux系统文件删除原理深度讲解
①文件删除:
a.i-link:文件的硬链接数量;
b.i-count:引用计数()---》(每当有一个程序在调用时,icount数加1)
②文件删除的条件=i-link=0&&i-count=0=>文件删除
③被进程占用的文件能不能删除?
能!
(5)Linux系统软链接知识及实战讲解
软链接的创建:执行命令“ln -s 源文件 目的文件”即可完成创建软链接。
误区:创建软链接源文件是需要存在的,要创建的链接文件是不需要存在的;要用ln命令建立。
软链接知识小结:
①软链接类似于windows里的快捷方式,可以通过readlink查看其指向;
②软链接类似一个文本文件,里面存放的是源文件的路径,指向源文件实体;
③删除原文件,软链接文件内容已然存在,但是无法访问指向的源文件路径内容了;
④失效的时候一般是白字红底闪烁提示;
⑤执行命令:ln -s 源文件 软链接文件,即可完成创建软链接文件,目标不能存在;
⑥软链接文件和源文件是不同类型的文件,也是不同的文件,inode号也不同;
⑦删除软链接文件可以用rm命令:
a.删除软链接文件对源文件和硬链接文件无影响;
b.删除硬链接文件对源文件和软链接文件无影响;
c.删除源文件对硬链接文件无影响软链接文件失效。
(6)Linux系统文件链接核心知识点小结
①目录只可以创建软链接;
②目录的硬链接不能跨越文件系统;
③每个目录下面都有一个硬链接“.”和对应上级目录的“..”;
④在父目录里创建了一个子目录,父目录里的链接数加1(子目录里都有。。来指向父目录)(但是在父目录里创建文件,链接数不会增加);
描述Linux下软链接与硬链接的区别:
①在Linux系统中,链接分为两种,一种被称为硬链接(Hard Link);还有一种被称为软链接(Soft Link)
a.默认不带参数的情况下,ln创造硬链接,ln -s创造软链接;
b.硬链接文件与原文件inode节点数相同,而软链接的inode节点号与原文件不同;
②目录不能被创建硬链接,只能被创建软链接;
③删除软(硬)链接文件对硬(软)链接文件以及源文件均无影响;
④删除链接文件的源文件,对硬链接文件无影响,会导致软链接文件的失效;
⑤文件真正删除等价于同时删除硬链接文件与源文件;
⑥很多硬件设备中的快照功能,使用的就类似于硬链接原理;
⑦软链接可以跨文件系统,硬链接不可以跨文件系统。
(7)Linux系统软链接实战
①创建一个软链接文件:
②通过readlink查看发现软链接包含源文件的路径:
③发现软链接与原文件的inode有别于硬链接的是他们是不同的:
④删除软链接以及将软链接设置为绝对路径:
⑤删除软链接后源文件的样式变化: