Chinaunix首页 | 论坛 | 博客
  • 博客访问: 708129
  • 博文数量: 67
  • 博客积分: 994
  • 博客等级: 准尉
  • 技术积分: 1749
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-03 14:10
文章分类
文章存档

2014年(11)

2013年(14)

2012年(14)

2011年(28)

分类: LINUX

2011-10-18 20:33:24

       UNIX系统提供了一种采用不同文件名来访问同一数据或程序,即把同一个数据或赋予不同的文件名,这种文件叫做链接文件,也称为硬链接。
         采用硬链接的好处是只需載文件系统中保存一份数据或程序副本,多个文件名就可以共享数据如果更新任何一个文件,即可反映到其他文件中。这样不但节省了磁盘空间,也保证了数据的一致性以及文件存储位置的灵活行。
         可以通过ln或link()系统调用创建硬链接。创建硬链接文件时,文件列用的是同一信息节点号和文件数据,也就是说硬链接没有生成一个新的文件。她只是載同一目录或不同目录中生成一个新的文件名而已。当删除原始文件后,并不影响其他链接文件的使用。硬连接的链接文件必须位于同一个物理文件系统中。
          ***@wuyaalan:~$ ln fork forkx
          ***@wuyaalan:~$ ls -l fork*
          -rwxr-xr-x 2 *** ***7354 2011-10-14 09:02 fork
          -rw-r--r-- 1 *** ***453 2011-10-10 18:36 fork1.c
          -rw-r--r-- 1 *** ***460 2011-10-14 09:02 fork.c
          -rwxr-xr-x 2 *** ***7354 2011-10-14 09:02 forkx
以上对fork建立了一个硬链接,可以看出其inode与块容量没有改变。
        既然上面的硬链接文件存在缺陷,那么就引进了符号链接文件,她可以是用户可以跨越不同的物理文件建立链接。实现方式是ln -s或symlink()系统调用实现。
        与硬链接的实现方式不同的是,符号链接文件本身就是一种数据文件,只不过数据内容是指向一个文件的路径,很像windows里面的快捷方式。由此看出,符号链接文件不但创建了文件名,还有自己的inode节点号及自己的块数据。
        当引用符号链接文件时,系统首先打开符号链接文件,然后根据文件的内容,找到其指向的文件。在这里如果删除了原始文件,那么你就悲剧了。

      当然后面还有个管道文件,前面讲过就罗嗦了!
阅读(3517) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~