- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13硬链接和软链接
硬链接和软链接 一、硬链接(hard links) 案例: 用户elvis和用户blondie正在合作一首二重奏,他们双方都想谁有时间就继续创作这首曲子。为了无须每次修改后他们都得给对方复制一份更新的文件,同时他们又得保持各自的文件同步更新,所以他们决定创建一个硬链接。 一、硬链接(hard links) 因为该文件不是被复制的而是被链接的,那么它就是同一个文件有两个名称。当用户elvis编辑了/home/elvis/music/duet.txt时,他也同时编辑了文件/home/blondie/music/duet.txt 一、硬链接(hard links) /home/blondie/music/duet.txt /home/elvis/music/duet.txt i-节点 data 一、硬链接(hard links) 用ln命令创建硬链接后,该文件虽然还是只有一个i-节点,却有两个dentry与之相连。 此时文件的链接数是2 当一个用户修改了权限时,另一个用户也看到了权限的改变 如果一个用户删除文件,i-节点依然存在,只是少了一个dentry与之相连,链接数减少1 当一个文件的链接数为0时,才会被系统删除,否则只是“unlink(脱链)”文件。 二、软链接(soft links) today.todo inode “tuesday.todo” tuesday.todo inode data 二、软链接(soft links) 用ln命令创建软链接 ln -s [target] [link] 复制的时候,只要文件和链接的层级关系不变就能成功链接 二、软链接(soft links) 空链接 如果源文件 被删除了,会 出现错误信息 提示 today.todo inode “tuesday.todo” 二、软链接(soft links) 递归链接: 在日常应用中,递归链接不如空链接常见。内核在解析多次后怀疑自己可能被卷入递归链接,因此会放弃解析 二、软链接(soft links) today.todo inode “tuesday.todo” tuesday.todo inode “today.todo” 三、硬链接和软链接的比较 如果连接两端的文件经常被用到,甚至其中一端的文件不存在,用硬连接比较合适。 当一个文件依赖于另一个文件而存在时,一般使用软连接比较合适。 硬链接 软链接 目录之间不能用硬链接 软链接可以关联到目录 硬链接没有原始文件和复制文件的概念。硬链接一旦创建,它连接的两端文件都得到同等待遇 软链接有引用和被引用的概念。删除被引用的文件就导致空链接的产生 硬链接必须关联同一个文件系统下的文件 阮连接也可以关联不同文件系统中的文件 四、示例 使用硬链接 touch a ln a hardlink ls -il //a和hardlink的i-节点相同 echo “hello” a echo “world” hardlink cat a //查看a和查看hardlink结果是相同的 mv a b ls il //移动甚至删除文件对硬链接没有影响 四、示例 使用软链接(重复同样的练习,只是这次使用软链接) touch m ln -s m softlink ls -li //两个文件的i-节点不同 echo “hello” m echo “world” softlink cat m //查看m和查看softlink结果相同 mv m n ls -il //softlink是个空链接了 四、示例 使用软链接(重复同样的练习,只是这次使用软链接) touch m ln -s m softlink ls -li //两个文件的i-节点不同 echo “hello” m echo “world” softlink cat m //查看m和查看softlink结果相同 mv m n ls -il //softlink是个空链接了 五、目录链接 目录的链接数总是大于等于2,是因为目录总是至少被引用两次:其自身引用(“.”);另一个由其上级目录。 另外的引用,由目录下子目录的”..”构成。 五、目录链接 数链接数 report inode “.” 592253 “..” 249482 “html” 592255 “text” 592254 “.” 592253 “..” 249482 “html” 592255 “text” 592254 “.” 592255 “..” 592253 “chap1.html” 592261 “chap2.html” 592262 谢谢!
文档评论(0)