免费注册 查看新帖 |

Chinaunix

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

unix系统当中 软连接与硬连接的区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-08 17:17 |只看该作者 |倒序浏览
以前一直不明白unix系统当中硬连接与软连接的区别,闲暇无聊时候想锻炼看些英文的计算机资料,忽然有点心得体会。
要讲清楚这两个的区别,首先要明白unix系统当中文件的存储。unix文件当中文件的存储可以分为三部分:
    1、 文件名 file name;
    2、 我们称之为inode, 里面存储了此文件的属性,包括文件大小、所有者、以及访问权限等等。
    3、 数据块 DATA;
以一个例子讲:
  目标文件名称 /opt/public.c  要建立的软连接的名称为a  , 建立的硬连接的名称为b。
  此时/opt/public.c 文件的存储为: 1、文件名称 public.c 2、inode 为1233
    3、数据块为文件的数据块。
  那此时软连接a的存储为: 1、 文件名称:a 2、inode为 1423(系统分配值) 3、数据块数据为:/opt/public.c
  而硬连接b的存储为: 1、 文件名称:b  2、inode为1233  3、数据块为文件的数据块。
   从上面我们知道软连接 有自己的inode 和数据块,他的数据块当中的内容为所要连接的文件的绝对或者相对路径。而硬连接和他所要连接的文件共有同一个inode 和数据块。
    这两个连接不同之处主要体现在访问权限上,建立的软连接的访问权限是777,但是这不是他的实际访问权限,他的实际访问权限还是以它所连接的文件的访问权限为准。而硬连接建立的时候的访问权限就是它所连接的访问权限,因为他们共用一个inode,而inode当中所存储的就是此文件的访问权限。

需要补充的是,软连接可以跨文件系统,而硬连接不能跨文件系统。
看一个文件或者目录的硬连接数量可用ls -al
drwxr-xr-x  10 jlivr    other        512 Jun  9 16:23 .
drwxrwxr-x  13 root     sys          512 Apr 11 15:17 ..
-rw-------   1 jlivr    other       3442 Jun  9 16:21 .bash_history
-rw-r--r--   1 jlivr    other       1039 May 11 17:04 .profile
drwxr-xr-x   2 jlivr    other        512 Apr 26 15:58 bin
drwxr-xr-x   3 jlivr    other       1024 Apr 26 15:51 inc
drwxr-xr-x   2 jlivr    other        512 Apr 26 15:51 lib
drwxr-xr-x   8 jlivr    other        512 Jun  6 17:18 mex
drwxr-xr-x   2 jlivr    other       1024 May 20 12:21 new_voice
drwxr-xr-x   2 jlivr    other        512 May 23 01:06 obj

访问权限与文件所有者当中有个数字, 代表的就是此文件或者目录的硬连接数量。

讲到这里我不知道说明的是否正确,大家是否明白,出个问题大家来回答一下吧,
我们新建一个文件,此文件的连接数量是1; 而新建的一个目录,此目录的连接数量是2,这是为什么?请大家留言答案


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15030/showart_125291.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP