前言
Linux文件链接分两种,一种被称为硬链接,另一种被称为符号链接。
一、创建命令
- 创建硬链接的shell命令:ln –d
- 注意:默认情况下(即ln命令不带任何选项),ln命令产生硬链接。
- 创建符号链接的shell命令:ln –s
二、区别
硬链接:多个文件名指向同一个i节点。
- 硬连接的作用是允许一个文件拥有多个有效路径名。只删除一个链接并不影响i节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
符号链接:也叫软连接。
- 软链接文件类似于Windows的快捷方式,它实际上是一个特殊的文件。在符号链接中,文件内容实际上是一个文本文件,其中包含所链接的文件的位置信息。
实例
- 假设有文件file1和file2,创建file1的硬链接h_file1,创建file2的符号链接s_file2。
- 当删掉源文件file1时,那么磁盘上file1对应的数据文件是不会被删除的,因为i节点上记录了该文件的硬链接数,只有硬链接数是0的时候,删除文件名的时候,对应的数据在磁盘上才会删除。
- 当删除源文件file2时,s_file2将无法使用,因为它链接的文件已经不存在。
下图描述了文件hello.c、硬链接h_hello.c和符号链接s_hello.c之间的关系。
总结
注意区别,软连接相当于快捷方式
硬链接相当于多出一个