硬链接与符号链接
linux下的连接文件有两种,一种是类似windows的快捷方式的文件,可以让你快速连接到目标文件;另一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件(硬链接)
硬链接:
我们为/etc/crontab创建硬链接/root/crontab
ln /root/crontab /root/crontab
先来看看示例图
中介资料就是中间数据(meta data),包括 super block,block bitmap ,inode bitmap经常变动的数据
/etc/crontab指向real i节点,real节点指向文档数据,硬链接实质就是创建一个文件指向了real节点(指向了指向最终数据的节点),因而无论你删除1或2所指的文件名,real 和 block都还存在。
鸟哥如是说:硬链接只是在某个目录下创建一条文件问连接到某inode号码的关联记录。
硬链接的限制:
不能跨文件系统
不能连接到目录
符号连接(快捷方式)
符号链接就是创建一个独立的文件,这个文件会让数据的读取指向他连接的那个文件名,当源文件被删除后,连接文件就会打不开。
至于连接数,看下面这道经典题目(2009年计算机统考的一道题目):
设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是 ?
下面这张图是在linux下操作的图
至于abc2文件名上为什么有红色的标记,是因为其源文件被删除了,它将无法打开,这样来看是不是清晰了呢?!
版权声明:本文为yskyj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。