1. 当前位置:网站首页 > 技术教程

Linux入门教程:软链接与硬链接


1.软链接和硬链接的区别:

首席我们通过一个实例直观的感受一下。

软链接:

(1)这个是/mnt/file文件详细信息:

注意最左侧file文件的inode号是6294764.我们一会要和链接文件进行对比.

(2)建立软链接:

ln -s /mnt/file /root/Desktop(-s 表示软链接)

再键入命令ls -il

/root/Desktop,/root/Desktop桌面上会出:

好了大家注意一下几个细节:

1.文件的inode和以前不同了,变成12329279.;

2.文件权限的位置处-变成l,表示这是一个链接;

3.文件的大小也发生了不同由65变成了9,而且我对/root/Desktop/file的文件进行编辑后发现它的大小依然还是9.而且file文件指向了/mnt/file

4.最关键的一点是:inode的链接数目是1,而不是2

(3)对源文件内容进行监控:

watch cat /mnt/file,原本如图所示:

然后对/root/Desktop上的file文件进行编辑:

vim /root/Desktop/file,进入vim后发现和/mnt/file的内容相同

当我们对/root/Desktop上的file编辑保存后发现/mnt/file的内容也发生了相同的变化。

硬链接

建立硬链接:

硬链接我们可把它当作是指针去理解,但是系统是不会为它重新分配inode号的

可以与源文件进行对比,两者的inode是相同的。文件大小也是相同的,但是有个小细节变化:链接数发生了变化,变成2了。

对于ln命令的操作结果,我们可以这样去理解,两个文件其实是同一个文件的两个不同的名字,就好象是两个指针指向同一片区域一样。它们有着同样的inode号和文件属性,建立硬链接就是在建立新的指针,如果我们要删除这个文件,必须删除所有的链接,让inode的数目变为0,此时内核才会把文件从设备中删除。

硬链接有以下限制:

(1)首先不可以在不同的文件系统之间建立硬链接;

(2)只有超级用户才可以为目录创建应链接,如图所示,我切换到了普通用户student下执行硬链接,发生了报错:

*软链接与硬链接的区别:(这部分是摘抄别人的,因为觉得总结的很全面):

硬链接原文件&链接文件公用一个inode号,说明他 们是同一个文件,而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件;

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

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

文件大小是不一样的,硬链接文件显示的大小是跟原 文件是一样的,这用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5实 际上就是“file1”的大小。

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


本文最后更新于2018-11-2,已超过 3个月没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
获取更多资讯请加入交流群

    协助本站SEO优化一下,谢谢!
    关键词不能为空
版权说明

本文地址:http://dufengvip.cn/post-17.html
未标注转载均为本站远程,转载请注明文章出处:

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:9:00-23:00,节假日休息

扫码关注