码迷,mamicode.com
首页 > 系统相关 > 详细

Linux中的两种link方式

时间:2017-01-01 17:17:20      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:Owner   实现   包括   影响   没有   文件   http   分配   复制   

    Linux系统中包括两种链接方式:硬链接(hard link)和符号链接(symbolic link),其中符合链接就是所谓的软链接(soft link),那么两者之间到底有什么区别呢?

inode

    在Linux系统中,内核为每一个新创建的文件分配一个inode,每个文件都有一个惟一的inode,这里将inode简单理解成一个指针,它永远指向本文件的具体存储位置同时,文件属性保存在inode里,比如owner等。在访问文件时,inode被复制到内存,从而实现文件的快速访问。系统是通过inode来定位每一个文件。

hard link

    hard lin可以理解是一个指针,它指向源文件的inode,并不会产生新的inode。hard link不管有多少个,都指向的是同一个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实就是引用counter的概念)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。可见下图的示例。

技术分享

 

symbolic link

    symbolic link拥有独立的inode,是一个独立的文件,而文件的内容是源文件的路径指针,因此可以通过symbolic访问到源文件,因此删除符号链接对源文件没有影响,但是删除了源文件,符号链接文件就无法找到指向的文件。这里可以想象成Windows中的快捷方式。

 

对比

1. 符号链接和源文件操作权限不一样;硬链接与源文件操作权限完全一致。
2. 符号链接可以跨文件系统(分区);由于inode的限制以及文件系统的可卸载性,硬链接不容许跨文件系统。
3. 符号链接可以对一个不存在的文件名进行链接;硬链接不可以。
4. 符号链接可以对目录进行连接;硬链接不可以。

Linux中的两种link方式

标签:Owner   实现   包括   影响   没有   文件   http   分配   复制   

原文地址:http://www.cnblogs.com/jingyzzz/p/6241139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!