硬链接就是让链接文件的i节点号指向被链接文件的i节点
硬链接和符号连接都是产生一个新的i节点
链接分为硬链接和符号链接
硬连接不能链接目录文件
LINUX的硬链接不能链接到目录是因为引入了对目录的硬连接就有可能在目录中引入循环,在目录遍历的时候系统就会陷入无限循环当中,这样导致无法定位到访问目录。
硬链接:为原文件创建一个新的文件名,但本质中只增加了一个目录项,并使用与原来相等的inode,指向
原文件的区域。数据区为两个名字共享。
使用限制:源文件和链接文件必须在同一个文件系统内,且目录文件不能创建硬链接。
命令:ln a b // 给a创建链接文件b
可以使用ls -i查看两个inode是完全一样的。
同时注意连接计数count。count的意义对于文件来说是硬链接的个数,对于目录,一般(count-2)为目录包含的子文件个数。
注意:两者的权限也是完全一样的。对其中一个进行读写操作,另外一个也会更新。但删除其中一个,只会删除目录项,不会删除存储区数据。另外一个文件的使用和操作完全不受影响。除非count-1结果0,才将数据区删除。 作用:节省空间,两个文件能同步更新,防止重要文件被“误删”。
软链接:也叫符号链接。本质是创建一个新的文件,保存源文件的路径名。因此inode和源文件的inode是不一样的。使用没有文件系统的限制,也没有文件和目录的限制。 命令:ln -s a b 注意:产生的文件权限和源文件是不一样的。由于软链接使用比较灵活,可能断链,也可以自循环,往往需要多次查找增加文件操作的步骤而降低效率。尽量少用,并避免出现循环。