Linux链接概念
软链接
软链接(Symbolic Link): 软链接是一个特殊类型的文件,它包含了指向另一个文件或目录的路径。软链接创建的链接文件在文件系统中只是一个指向原始文件或目录的快捷方式,它们本身并不包含实际的文件数据。删除原始文件或目录不会影响软链接的存在,但如果软链接指向的原始文件或目录被删除,软链接将变为无效。
硬链接
硬链接(Hard Link): 硬链接是指多个文件共享相同的数据块,它们都指向同一个inode(索引节点)。在文件系统中,硬链接与原始文件没有区别,可以独立地打开和修改。删除原始文件不会影响硬链接的存在,因为硬链接与原始文件共享相同的inode,只有在所有的硬链接和原始文件都被删除后,才会真正释放磁盘空间。
软硬链接的创建
1、软链接的创建可以使用ln -s <原始文件或目录> <链接文件>命令。软链接的权限和属性与原始文件或目录相关联。
2、硬链接的创建可以使用ln <原始文件> <链接文件>命令,也可以使用cp --link <原始文件> <链接文件>命令。硬链接的权限和属性与原始文件相同。
touch text.txt//创建测试文件
ln -s text.txt sln//创建软链接
ln text.txt hln//创建硬链接
我么可以看这三个链接的inode节点,发现硬链接与原始文件相同,软链接则不同。
通过上图测试发现,原始文件被删除,软链接文件失效,硬链接文件还存在!
可以大致得出:软连接类似于windows操作系统的快捷方式,而硬链接则是一种拷贝,创建了一个新的文件。
总结: 软链接是指创建一个新的文件来指向原始文件或目录的路径,原始文件或目录可以被删除,软链接会变为无效。硬链接是指创建一个指向原始文件的新文件,多个文件共享相同的数据块,只有当所有的硬链接和原始文件都被删除后,才会释放磁盘空间。