本篇将介绍操作系统中的重要概念 -- 链接;
Linux中, 链接的实现被封装为了ln命令.
其包括"符号链接"和"硬链接";
硬链接
与更加现代的符号链接相比,硬链接是最初 Unix 创建链接的方式。每个文件默认会有一个硬链接, 这个硬链接给予文件名字。我们每创建一个硬链接,就为一个文件创建了一个额外的目录项。 硬链接有两个重要局限性:
-
一个硬链接不能关联它所在文件系统之外的文件。这是说一个链接不能关联与链接本身不在同一个磁盘分区上的文件。
-
一个硬链接不能关联一个目录。
以下是Linux中创建硬链接的方法:
ln file link
为文件file在link目录下创建一个硬链接
符号链接
创建符号链接是为了克服硬链接的局限性。符号链接生效,是通过创建一个特殊类型的文件,这个文件包含一个关联文件或目录的文本指针。在这一方面,它们和 Windows 的快捷方式差不多,当然,符号链接要比 Windows 的快捷方式要早太多了;
一个符号链接指向一个文件,而且这个符号链接本身与其它的符号链接几乎没有区别。例如,如果你往一个符号链接里面写入东西,那么相关联的文件也被写入。然而,当你删除一个符号链接时,只有这个链接被删除,而不是文件自身。如果先于符号链接删除文件,这个链接仍然存在,但是不指向任何东西。在这种情况下,这个链接被称为"坏链接"。在许多实现中,ls 命令会以不同的颜色展示坏链接,比如说红色,来显示它们 的存在。
以下代码展示了如何为文件或目录item在link目录下创建符号链接:
ln -s item link