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