硬链接

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。

作用:

允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止"误删"的功能。

软链接

软链接文件有点类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

硬链接和软链接区别

软链接:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

2.软链接可以 跨文件系统 ,硬链接不可以

3.软链接可以对一个不存在的文件名进行链接

4.软链接可以对目录进行链接

硬链接:

1.硬链接,以文件副本的形式存在。但不占用实际空间。

2.不允许给目录创建硬链接

3.硬链接只有在同一个文件系统中才能创建

ln命令

上面说到这两个概念,不得不提ln命令,它默认创建的是硬链接。

创建硬链接

$ ln source.txt hard.txt

创建软链接

$ ln -s source.txt soft.txt

例子

$ echo hello > source.txt

$ ln source.txt hard.txt

$ ln -s source.txt soft.txt

$ rm source.txt

$ echo world > soft.txt

这个例子可以理解两个链接的区别

需要说明的是:最后两步:先删除原始文件,这样源文件不存在了,假若往软链接写入,那么原始文件就会重新出现。

那是因为echo 写入软链接的时候,会自动变成源文件的真实路径,那么一写入,就写到原始文件了。

Logo

更多推荐