As is known to all,在windows环境下我们早已经见过链接文件,机我们平时所使用的快捷方式。
其实,在linux里我们可以见到以下两种类型的链接文件
a.硬链接文件
创建命令:ln [源文件] [目标文件]
硬链接即实际链接。
记得我们讲过什么叫做inode,那么我们来根据下图理解一
这样做的意义是:安全。如果你不慎删除了其中一个文件名那么你还可以通过其他文件来找到这个源文件
并且你修改一个文件其他的文件也会跟着被修改
*上图中能看到,这两个文件的信息是一模一样的
实际上,硬链接是不会增加inode数量的,因为他们其实使用的都是实际文件的那个inode,只是在某个目录下增加了关联数据
*在hard link制作中还是有可能会改变系统block的,那就是当你添加的这条数据刚好将目录的block填满时,可能会新增一个block来记录文件的关联性导致磁盘空间的变化
硬链接的限制:
1.不能跨文件系统
2.不可以连接到目录
b.符号链接
创建命令:ln -s
符号链接即快捷方式,我们创建一个独立的文件,并且使得这个文件的数据读取指向他连接的文件的文件名。
连接文件的重要内容就是它会写上目标文件的文件名
我们来举个栗子
可以看到链接文件会有一个箭头指向源文件。并且他们的大小并不相同.
symbol link创建的文件是独立的新文件会占用我们的inode和block
如果目标文件被删除了那么。。你将无法访问到文件内容
虽然符号链接并没有那么安全但是他的限制很少,所以使用方面很广
本文出自 “Zimomo” 博客,请务必保留此出处http://zimomo.blog.51cto.com/10799874/1770737
原文地址:http://zimomo.blog.51cto.com/10799874/1770737