若一个 inode 号对应多个文件名,则称这些文件为硬链接
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
文件有相同的 inode 及 data block;
只能对已存在的文件进行创建;
不能交叉文件系统进行硬链接的创建;
不能对目录进行创建,只可对文件创建;
删除一个硬链接文件并不影响其他有相同 inode 号的文件。
如果是硬链接的话,就算删除一个文件也不会影响链接文件
若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接
软链接的链接文件的数据块中存储的数据其实是源文件的路径
可对不存在的文件或目录创建软链接;
软链接可交叉文件系统;
软链接可对文件或目录创建;
创建软链接时,链接计数 i_nlink 不会增加;
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接
(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
软链接与硬链接的区别
从inode来说,硬链接只占用一个indoe号,而软链接占用多个indoe号
从data block来说,硬链接指向的是block块,而软链接指向的是源文件的路径
从删除源文件来说,硬链接的话不会影响,软链接的话会受到影响
从创建目录来说,硬链接不可以对目录进行链接,软链接可以对目录进行链接
硬链接不可以跨分区,软链接可以跨分区