快速业务通道

Unix中硬连接与文件快捷方式的差异分析及应用

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-18

熟悉Windows操作系统的用户对于它的快捷方式一定印象深刻吧?通过快捷方式,可以把本来保存在D盘等地方的文件或者目录定位到桌面,方便用户进行访问.其实在Linux系统中也有类似的功能,不过其从功能上来说要比快捷方式略胜一筹.

  一、硬连接的原理.

  在inode节点中存储着文件的相关属性,如权限等等.但是在这个节点中却没有存储文件的名字.这个特性给与了用户很多的想象力.如如此的话,一个文件只有一个节点,但是却可以有多个文件名字.当一个文件有多个文件名字时,在Unix系统中就叫做文件有多个连接.用户可以通过文件的任何一个连接访问这个文件.虽然他们有不同的文件名字,但是他们却是同一个文件,他们文件的inode号是同一个.通常情况下,只要inode节点数相同,就是同一个文件.虽然有多个文件名字,但是在硬盘上只有一个文件副本.从严格意义上来说,并不存在节点数相同的多个文件,他们只是一个文件,只是由不同的名字而已.就像一个人,其可能有多个绰号,但是这个人只有独一无二的一个.即使通过克隆等技术再生成一个人,那么他们是两个不相同的人,而不是一个人.了解这个内容对于认识硬连接与快捷方式的差异具有很大的作用.

  二、硬连接与快捷方式的差异.

  Unix系统中地硬连接与快捷方式有比较大的差异.简单的来说,Unix操作系统中的硬连接其实就是一个文件不同的别名而已.而微软操作系统中的快捷方式则是两个不同的问题.如下图所示:



文件doc1与文件doc2他们节点数是相同的,说他们是同一个文件.文件doc2是文件doc1的一个硬连接.即这个文件具有两个绰号,对其中的一个绰号(即链接)的修改会影响到另外一个绰号.通过ls等命令可以查询到这两个绰号代表的文件可能会存储在两个不同的目录中,但是通过查询他们的节点数却可以发现他们属于同一个文件.

  但是快捷方式则不同.如上图的右边所示,文件doc2是文件doc1的一个快捷方式.其实此时他们是两个文件.文件doc1保存着文件本身的内容,而文件doc2则保存着指向文件doc1的一个路径.也就是说,这两个名字所对应的文件是不同的.或者说,这两个文件名字代表着不同的文件.当用户打开doc2文件时,系统打开的就是doc2这个文件.然后再从这个文件中读取文件doc1的路径,再把文件doc1打开.这个过程对于用户来说是透明的,故用户看起来他们好像代表着同一个文件.其实是不同的.只需要把文件doc1换一个位置,那么当打开doc2文件时系统就会提示找不到文件doc1的错误信息.从这里就可以判断出,文件doc2只保存了文件doc1的一个连接方式,而不是文件doc1本身的内容.

  以上这个就是硬连接与快捷方式的主要差异.这个差异也决定了硬连接在某些场合有其独到的用处.

  三、硬连接的主要用途.

  硬连接的主要特性就在于即使文件名字不同,但是他们仍然是同一个文件名.这个特性让硬连接能够在很多场合发挥其独到的作用.下面笔者就根据自身的工作经验,谈谈硬连接在那些方面能够帮助系统工程师解决实际问题.

  1、用来防止文件被意外删除.如上面两个存在硬连接的文件,其中doc1保存在home/user目录下;而文件doc2则保存在/user/sales文件夹下.其实这两个文件名指向硬盘中某个扇区的某一部分内容.如果不存在硬连解的情况下,用户把这个文件删除的话,其实文件的内容还是存在硬盘中的.只是文件存储在硬盘中的哪个扇区等信息被删除了.只有当用户对硬盘进行低级格式化或者后来的文件覆盖了被删除文件所用的扇区,这个文件的内容才会从硬盘中被删除.此时如果用户意外的删除了目录/home/user下的doc1文件,其实用户没有真正从硬盘的扇区中删除这个文件.故通过目录/user/sales下的doc2文件仍然可以找到硬盘扇区中的文件,并打开它.说硬连接在一定程度上能够为用户提供一种防止文件被意外删除的安全机

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号