参考文章
1.链接
Linux文件系统中,有所谓的链接(link),可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。
硬链接:硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接:另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
2.两种链接的对比
软链接 | 硬链接 |
路径形式存在 | 文件副本形式存在,不占用磁盘空间 |
可以跨系统文件 | 不可以跨系统文件 |
可以给目录创建软链接 | 不可以给目录创建硬链接 |
可以给对存在的文件名链接 | 不可以对不存在的文件名链接 |
3.ln命令
ln默认创建硬链接
参数
-s
:创建符号链接(soft link,也叫 symbolic link)。-f
:如果目标文件已存在,且不是目录,则先将其移除。-i
:交互模式,文件已存在则先询问用户。-n
:把符号链接视为一般目录。-v
:显示其处理的文件。
格式:ln 参数 源文件 目标文件