Linux 硬链接和软软硬链接的区别别

软连接可以跨文件系统进行连接,硬链接不可以
当删除原文件的时候硬链接文件仍然存在,且内容不变
硬链接被删除,磁盘上的数据文件会同时被删除
硬链接会重新建立一个inode,软链接不会
)软连接可以跨文件系统,硬连接不可以
)硬连接不管有多少个,都指向的是同一个
节点,会把结点连接数增加,只要结点的连接数不是
,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。
当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用
节点号作为文件指针
而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的
并在磁盘上有一小片空间存放路径名。
)软连接可以对一个不存在的文件名进行连接
)软连接可以对目录进行连接。
1&首先什么是链接?
链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的
,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
3&软链接(符号链接)
软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)。
硬链接与软链接的区别;
硬连接是不会建立inode的,他只是在文件原来的inode link
count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode
link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。
硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls
-i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。
软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令
ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。
( 1 )软连接可以跨文件系统,硬连接不可以
( 2 )硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。
( 3 )软连接可以对一个不存在的文件名进行连接 。
( 4 )软连接可以对目录进行连接。
选项B 错在节点的连接数会改变
每个文件都会占用一个inode,文件内容由inode的记录所指向。想要读取该文件,必须经过目录记录的文件名来指向正确的inode号码才能读取。文件名只与目录有关,但是文件内容只与inode有关。
硬链接只是在某个目录下新建一条文件名链接到某个inode号码的关联记录而已。和增加了引用计数,删除时也只是减小引用计数,只有为零时才彻底删除。同时,磁盘空间和inode的数目并不改变。限制:不能跨文件系统,不能链接目录。
符号链接会创建一个独立的文件,让数据读取会指向向它链接的那个文件的文件名,独立的文件有独立的inode。删除原始文件,则链接就没有意义了,会打不开。
相当于 windows 快捷方式
通过文件位置查找文件
可以跨文件系统
源文件删除后,软链接失效
可以对目录或不存在的文件创建软链接
相当于 cp -p 再加上同步更新
通过 inode 查找文件
不可以跨文件系统
源文件删除后,硬链接不受影响(因为inode count减一之后依旧&=1)
不可以对目录或不存在的文件进行链接
B 选项,硬链接没有源文件只说,所有文件地位是平等的。如果非要说源文件,姑且认为第一个被创建的叫源文件。如果源文件删除,把 inode 节点的引用计数减1,如果变成0,删除该inode 节点(这和是不是源文件有毛线关系?)。如果仍然大于0,是不会删除inode 节点的,且文件内容不会变,文件内容,是指inode 节点维护的磁盘块指针指向的那片内存保存的内容。所以,删除硬链接,文件内容会变?(除非你真的修改的任何一个硬链接文件的内容,那所有的硬链接内容都变了)。个人认为答案是AB
B错在:删除原文件时硬链接的节点数会改变。
( 1 )软连接可以跨文件系统,硬连接不可以
( 2 )硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。
( 3 )软连接可以对一个不存在的文件名进行连接 。
( 4 )软连接可以对目录进行连接。
硬链接 :就是对源文件所指的inode,建立另外一个指针
软链接:类似windows文件的快捷方式
硬连接是不会建立inode的,他只是在文件原来的inode
count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode
link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。
两种链接都可以通过命令 ln 来创建。ln
默认创建的是硬链接。使用 -s 开关可以创建软链接。
硬链接:同一个文件拥有多个路径名,多个硬链接指向同一个文件实体(inode)。
软连接:相当于Windows中的快捷方式,它本身就是一个独立的文件,文件的内容就是它所链接到的文件的路径。
软链接可以跨文件系统,硬链接不可以。
软链接可以对目录进行链接;硬链接不可以。
软链接可以对不存在的文件名进行链接,硬链接不可以。
当一个文件的所有硬链接都被删除(即该文件没有路径名了,引用计数为0)时,文件才会从物理存储介质上删除。
B为什么不对啊
我觉得B要是对的,硬链接相当于复制源文件,如果删除源文件,硬链接依然存在
D.软链接有自己的inode,并在磁盘上有一小片空间存放路径
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
京ICP备号-4
扫一扫,把题目装进口袋欢迎访问蓝队云一站式平台!
关注蓝队云
您的位置:
linux软链接与硬链接的区别
发布时间:&&&&&浏览量:135人
上一篇:下一篇:
最新发布的内容
大家感兴趣的内容
服务时间:9:00 - 24:00
选择对应客服在线沟通:
您可能遇到了下面的问题:
400专线7x24小时全时响应
技术在线支持
服务时间:全天24小时
选择对应技术在线沟通:
您可能遇到了下面的问题:
400专线7x24小时全时响应
网站ICP备案咨询
服务时间:9:00 - 17:30
选择对应客服在线沟通:
您可能遇到了下面的问题:
400专线7x24小时全时响应揭开链接文件的面纱——从根本上剖析硬链接与软链接异同 | Linux运维部落
您还未登录,请登录后再进行相关操作!
400-080-6560
在线咨询:
工作时间:周一至周五,9:30-18:30,节假日同时也值班温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(7030)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'linux 软连接和硬链接的区别',
blogAbstract:'在 linux下软连接和硬连接有什么本质的区别 ,我只知道有4点区别 但是从来都没实践过。昨天顺便实践了一下 ,今天记录一下实践的结果 。4点不同 : (1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.txt /root/bb 失败 。(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件任何一个的时候 ,其他的 文件都会做同步的修改',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:4,
permalink:'blog/static/',
commentCount:2,
mainCommentCount:2,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}社会化媒体
了解更多>>
桂ICP备 号
阅读下一篇
自媒体运营攻略
行业经验交流
Hi,在你登录以后,就可以永久免费的收藏任何您感兴趣的内容,关注感兴趣的作者!
手机注册或邮箱注册
点击按钮进行验证
请输入正确的邮箱
已有帐号请点击
帐号创建成功!
我们刚刚给你发送了一封验证邮件
请在48小时内查收邮件,并按照提示验证邮箱
感谢你对微口网的信任与支持
你输入的邮箱还未注册
还没有帐号请点击
点击按钮进行验证
你输入的邮箱还未注册
又想起来了?
你已成功重置密码,请妥善保管,以后使用新密码登录
邮件发送成功!
我们刚刚给你发送了一封邮件
请在5分钟内查收邮件,并按照提示重置密码
感谢你对微口网的信任与支持
对不起,你的帐号尚未验证
如果你没有收到邮件,请留意垃圾箱 或
意见与建议
请留下您的联系方式
* 留下您正确的联系方式,以便工作人员尽快与你取得联系
转藏至我的藏点

我要回帖

更多关于 硬链接与软链接的区别 的文章

 

随机推荐