Linux下软链接与硬链接的区别
详解Linux下硬链接和软连接的联系与区别~~...
由于下面会说到inode,所以如果没有了解过,请务必搞懂inode的真正含义。可以点击左下角阅读原文进入博客链接,里面有Linux磁盘与文件系统管理这篇文章的超链接。
如果我们在系统中新建一个文件,我们看到的文件名实际上只是表面现象,本质上会分配一个inode给我们用,inode记录的信息有:文件的block位置,文件的UID,文件的GID,文件的读写执行权限等等,下面我们新建立一个名为file的文件。
硬链接
硬链接实际上是一个文件inode的别名,我们可以为一个inode起很多个名字,同时让file和changefile存在也是可以的,就是建立硬链接,因为文件名不会对文件本身产生影响。ln 命令可以用来建立链接,不加参数表示建立硬链接。
-s:建立软链接。
下面我们给changefile建立硬链接file,将我们的file找回来。通过ls -i命令查看inode我们发现它们是一样的,那么目前的情况会是怎样呢?如下:只不过就是此inode有两个名字了而已,我们通过任意一个文件名查看或者修改文件的内容,都会直接查看或者修改blocks块中1,2,3的内容,并且file和changefile之间是不会互相影响的,我们删除任何一个对对方没有任何影响,大不了就是inode少一个名称而已。
软链接
与硬链接不同,软链接相当于快捷方式,当我们双击一个图标打开一个软件时,本质上是在执行一个.exe文件一样,通过这个图标只能找到这个.exe文件,执行的过程是.exe完成的,如果.exe找不到,那么这个快捷方式将会失效。因此在Linux中的软链接实际上是另一个文件,这个文件与原文件是不同的,唯一的特殊之处就是它的内容记录的是原文件的inode,我们通过inode再来找原文件的位置。明显,softlink和changefile就是不同的文件。它的详细情况就像下面这样:我们通过softlink会找到inode1的位置,然后通过它定位文件的block,因此,如果一旦inode1被删除了,那么softlink就会无法找到文件,也就是这个软链接会失效。我们删除changefile试试看:软链接和硬链接的比较
软链接:
优点:可以对目录创建。
缺点:消耗inode。
硬链接:
优点:安全,节省空间。
缺点:不能对目录创建,不能跨越文件系统。
本文转自:yangbodong22011优点:可以对目录创建。
缺点:消耗inode。
硬链接:
优点:安全,节省空间。
缺点:不能对目录创建,不能跨越文件系统。
原文地址:http://blog.csdn.net/yangbodong22011/article/details/50916311
(更多详细内容,点击左下角【阅读原文】)
关注 西邮Linux兴趣小组
微信扫一扫关注公众号