软链接,相当于Windows的快捷方式;而硬链接,以文件副本的形式存在,但不占用实际空间。
通俗的说,软链接,链接源文件没有了,链接文件相当于找不到家了,无法正常使用;而硬链接由于是以副本形式存在,链接源文件没有了,仍旧可以正常使用。
硬链接是指通过索引节点(inode)来进行链接。在Linux系统中,所有文件都有一个独有的innode编号。
在Linux系统中,多个文件名指向同一个索引节点是正常且允许的。这种情况下的文件就称为硬链接。
关于硬链接
不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,这个文件都可以被访问。
硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode 号是重新计算的。
硬链接不能链接目录,因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接。
参数选项
无参数 创建硬链接,生产的是普通文件(- 字符)。
-s 创建软链接(符号链接),生成的是符号链接(l 类型)。
-f 强制执行,强行删除任何已存在的目标文件。