免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 760 | 回复: 3
打印 上一主题 下一主题

硬链接和软链接的区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-12 19:12 |只看该作者 |倒序浏览
首先是名字上的区别,硬连接:hard link,软连接:symbolic link

再分别叙述:

首先是hard link,大家都知道cp的用法,即cp oldfile newfile,这样一来就比较浪费空间,假设oldfile有600M,拷贝出来的newfile(也即oldfile的副本)也要占距600M的空间,这对于我们的LINUX系统来说简直就是噩梦,居然两个文件就站了1G多!有没有一种方法能够即节省空间又能相互连接呢?答案是有的,大家回想一下自个儿在WINDOWS下有没有类似的解决方法?对了,就是建立快捷方式嘛!hard link就是相当于建立一个文件的快捷方式,还是迷茫?呵呵,举个例子吧:

假设用户romeo在/tmp的目录下有个文件love,此时给love文件设置权限为:"rw-r-r",恰好系统内另一名用户juliet也要用这个文件,那么她就只需建立一个到/tmp/love的link即可:

[juliet@redhat9 juliet]$  ln /tmp/love  JulietLink

这样就在用户juliet的目录下(/home/juliet)建立了一个hard link,其文件名为:JulietLink,这时执行:

$ ls -l /home/juliet

发现如下信息:

-rw-r--r--     2      romeo      romeo      5096   .......   JulietLink

可以得知文件的链接数是:2,表明该文件除了本身外还有另一个副本.如果再切换一个用户对这个文件进行链接,则链接数继续增加.同时发现建立链接后文件的属主和属组仍是:romeo

接下来查看链接文件和原文件的索引节点编号:

$ ls -s JulietLink
   24340 JulietLink

$ ls -s /tmp/love
   24340 /tmp/love

可知,这两个文件的索引节点编号是一致的,如果用复制而不是链接的话,就会产生两个不相干文件,各自拥有不同的索引节点编号:

$  cp /tmp/love  JulietLink

$  ls -l JulietLink
    37027 JulietLink

正如你发现的:37027!=243430

最后,我们来看一下symbolic link:

其用命令ln -s创建:

$ln -s /tmp/love SysLink

再:$ls -l /home/juliet

lrwxrwxrwx     1      juliet     juliet     ......     SysLink->;love

由首项"l"发现这是一个链接文件,由"1"得知love和SysLink的链接数没有改变,(想想为什么:) :wink: 由权限"rwxrwxrwx"知道文件的真正权限要以所指文件为准,软链接本身不做任何限制。软链接本身不保存文件的数据,其真正内容是指向原来的文件,如果将文件love删除或改名,则SysLink会指向一个不存在的文件,其内容变成空白;但是它会占用一个索引节点,并拥有自己的索引节点编号,不信你试试:

$ls -i SysLink

其显示的索引节点编号一定不同于love的索引节点编号:)


总结:hard link所创建的文件和原文件的索引节点编号相同,相当于一个原文件有多个别名;
   
      symbolic link所创建的链接和原文件的索引节点编号不同,相当于指向原文件的位置。



ps:hard link 和 symbolic link创建后均可以用rm命令删除。

论坛徽章:
0
2 [报告]
发表于 2004-04-12 20:59 |只看该作者

硬链接和软链接的区别

不知道正确与否,我自己原创的,请大家发表下建议,谢谢!

论坛徽章:
0
3 [报告]
发表于 2004-04-13 10:02 |只看该作者

硬链接和软链接的区别

硬连接不可以在不同的文件系统间连接,
软连接可以,

软连接相当于快捷方式
硬连接相当于指针一样的。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-04-13 10:52 |只看该作者

硬链接和软链接的区别

这种东西还是翻书来得快。呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP