前言
在类 Unix 零碎中,一个文件有可能被多个名字援用。咱们应用链接来实现这一点,链接共有两种类型:硬链接和软链接,本文别离来介绍它们。
硬链接
硬链接也容许指向文件,但与符号链接的形式不同。它们是 Unix 创立链接的原始形式。默认状况下,每个文件都有一个独自的硬链接,该链接给出了文件的名称,当咱们创立一个硬链接时,咱们是为一个文件创建一个额定的目录条目。其中有两个限度:
- 硬链接不能引用本人文件系统以外的文件。它所援用的文件必须在同一磁盘分区上。
- 硬链接不能引用目录。
硬链接与文件自身是没有区别的。我在上面列出了一个蕴含硬链接和符号链接的目录,咱们能够看到,硬链接没有非凡的批示,表明它是一个硬链接,而符号链接则有显著的批示(权限中的 l
和显示它链接到什么的->
)。
当硬链接被删除时,链接是被删除了,然而文件自身的内容却仍旧存在,直到删除所有指向该文件的链接。你可能会时不时地碰到这种状况,但现代化的实际更偏向于符号链接。
咱们能够应用上面的命令来创立硬链接:
ln file link
符号链接
符号链接是一种非凡类型的文件。它们也被称为软链接或符号链接,它们被用来指向任意计算机上的任何文件或目录,相似于 Windows 中的快捷方式和 Mac OS 中的别名。
咱们能够应用上面的命令来创立符号链接:
ln -s item link
item
既能够是文件,也能够是目录。
符号链接克服了硬链接的局限性,因为它们通过创立一种非凡类型的文件来工作,其中蕴含一个指向被援用文件或目录的文本指针。
如果你向符号链接写货色,被援用的文件就会被写入,当你删除符号链接时,只有链接会被删除而文件自身不会被删除。如果文件被删除,该链接将持续存在,但将不指向任何货色,并被称为中断。