1、介绍:
【符号链接】【软链接】:
- 符号链接(Symbolic Link),也叫软链接,软链接文件有类似于 Windows 的快捷方式,它实际上是一个特殊的文件,在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
- 可以连接到目录。
- 可以跨文件系统。
- 删除源文件以后,软链接文件就打不开了。
【硬链接】:
- 硬链接指通过索引节点来进行链接,在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。(inode:记录文件属性,一个文件一个 inode,inode 相当于文件 ID,查找文件的时候需要找到 inode,然后才能读出文件的内容)
- 在Linux中,多个文件名指向同一索引节点是存在的,一般这种链接就是硬链接,硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止“误删”的功能,因为对应该目录的索引节点有一个以上的链接,只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放,也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
- 不论修改源文件还是链接文件,另外的硬连接文件数据都会被改变。
- 硬链接不能跨文件系统。
- 硬链接不能连接到目录。
- 符号链接(软链接)文件通过
->
来表示具体的链接文件。 - 符号链接(软链接)要使用绝对路径,否则做某些操作时可能会出现问题。
2、创建符号链接(软链接):
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln
命令链接(link)它就可以了,不必重复的占用磁盘空间
ln -s 源文件 目标文件
得到:目标文件 -> 源文件
3、创建硬链接:
ln 源文件 目标文件
注意1:ln
命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
注意2:ln -s
只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln
,没有参数-s
,它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还
是硬链接,文件都保持同步变化。
4、强制创建链接文件:
ln -f
强制创建链接文件,如果目标存在,那么先删除目标文件,然后再建立链接文件。