您的位置:首页 > 运维架构 > Linux

linux学习之路——软链接和硬链接

2016-06-01 20:17 309 查看
本篇博客只是为了记载自己在学习linux的过程中所遇到的问题。在网上可能大家会遇到各种各样的解决方法,在我所写的博客里只记录小编在遇到问题时,是怎么解决的,以便以后查阅!如果没有解决您的问题,小编我深感抱歉。如果能后解决您出现的问题,小编我甚是荣幸。

概念:

软链接:类似Windows中的快捷方式,可以快速链接到文件目录或者档案。其中包含的是所链接文件的文本信息。指向所链接文件的文件名。

硬链接:产生指向文件的新文件名与源文件名完全等价。多个文件名指向同一个文件节点。

应用:

命令:

软链接:ln -s 源文件 目标文件

硬链接:ln 源文件 目标文件

创建文件sh    为sh创建软链接文件ssh    为sh创建硬链接文件shh



观察软链接和硬链接文件的inode节点:

发现硬链接的inode和源文件的相同,所以硬链接是指向同一个文件的具有不同的名字。

软链接则是创建了一个新的文件,并且明显指向源文件sh。



然后咱们删除文件sh:



发现当我们删除源文件时,硬链接文件不受影响,软链接文件则无效。

继续测试会发现:

1.删除软链接文件,对于源文件和硬链接文件不具有任何影响

2.删除硬链接文件,对于源文件和软链接文件不具有任何影响

3.同时删除源文件和硬链接文件,则文件则被删除。

不同:

1.硬链接文件和源文件共用一个inode号,说明他们是同一个文件,而软链接文件和源文件拥有不同的inode号,表明他们是两个不同的文件;

2.在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;

3.链接数目是不一样的,软链接的链接数目不会增加;

4.文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的。而这里软链接显示的大小与原文件是不同的。


5.[b]软链接没有任何文件系统的限制,任何用户可以创建指向目录的符号链接[/b]

总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。

当然软链接也有硬链接没有的缺点:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 软链接 硬链接