首先要学习inode的概念。

Linux软连接、硬链接区别

Linux中的文件的文件名、文件属性和文件的数据是分开存储的。在文件系统初始化的时候,硬盘就被分成两个区域iNode区(iNode table)和数据区(block)。文件名存放在目录项(dentry)中,文件的属性存放在iNode中,而文件的内容,即文件的实际数据存放在block中。目录文件是特殊的文件,这是因为目录文件中的数据是一个关联列表,保存文件名(包括目录名)和iNode的映射。这也导致了如果一个用户对一个目录只有r权限,那么他只能读取目录下的文件名和iNode的id,而无法读取这些iNode中存放的文件的属性信息,读取这些信息需要x权限。

 

创建软连接命令:ln -s f1 f2

软连接f1 f2的iNode值不同,删掉源文件,链接就失效了

创建硬链接命令:ln f1 f2

硬链接f1和f2的iNode值相同,删掉其中一个,另一个还存在

 

 

 

相关文章: