Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84464
  • 博文数量: 18
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 09:54
文章分类
文章存档

2008年(18)

我的朋友

分类: 服务器与存储

2008-10-17 15:58:17

 
 
要讲清楚这两个的区别,首先要明白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当中所存储的就是此文件的访问权限。

需要补充的是,软连接可以跨文件系统,而硬连接不能跨文件系统。
阅读(625) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~