Linux链接目录:了解Linux文件系统中的软链接和硬链接 (linux 链接 目录)

作为一种先进的操作系统,Linux 自然有很多特性和优点,其中之一就是 Linux 文件系统下文件链接的基础概念。前端开发人员经常操作 Linux 服务器进行相关的开发,所以能够清楚地理解链接目录极其重要。在本篇文章中,我们将讨论 Linux 文件系统中两种链接目录:软链接和硬链接。

什么是链接目录?

在 Linux 文件系统中,一个文件可以有多个名字。链接目录就是对同一个文件使用不同名字的文件。常常需要出现多个文件抑或文件夹共用同一文件的情况,比如一个目录被分到分到多个分区上,而同时这些分区又有很多各自的目录。但是这时候需要做到每个目录拥有相同的文件。此时如果每个目录都要拷贝相同的文件就会浪费很多空间,因此就有了链接目录的概念。

软链接

软链接又被称为符号链接,它是指向另一个文件或目录的特殊文件,软链接不会复制文件或目录不同于硬链接。而是为它们提供一个不同的、更简洁的名称。如果一个软链接指向了另一个文件,则在访问该软链接时会自动地转向被指向的文件,且在文件属性中,可知该文件是软链接。软连接是通过 ln -s 命令来创建的。

如 下所 示,我们使用 ln -s 命令来创建了一个在 /root 目录下名为 test 的软链接,该软链接指向的是 /etc/hosts 文件。

“`

[root@linux ~]# ln -s /etc/hosts /root/test

[root@linux ~]# ls -l /root/test

lrwxrwxrwx 1 root root 11 6月 6 22:17 /root/test -> /etc/hosts

“`

我们可以使用 “ls -l” 命令来查看软链接所指向的实体文件。从上面的输出结果可以看出:软链接文件有一个 “->” 形符号,而之后的 /etc/hosts 即为实体文件的路径。

注意:/etc/hosts 是一个文本文件,里面保存了一些关于 IP 和Hostname 所对应关系的信息。

硬链接

硬链接是指可以链接到同一个 inode 上的两种不同文件名。当创建硬链接时,实际创建的是指向同一个物理数据块的两个 inode,所以它们共享相同的节点(模式,所有权和许可)。因此,删除其中一个文件将不会影响另一个文件,只会在所有硬链接都被删除之后才会删除该文件。硬链接可以通过 ln 命令来创建。

如 下所 示,我们使用 ln 命令来创建了一个文件 /root/hosts,然后创建了一个硬链接 /root/hosts.link。

“`

[root@linux ~]# ln /etc/hosts /root/hosts

[root@linux ~]# ln /root/hosts /root/hosts.link

“`

我们使用 ls -li 命令来查看文件的 inode,其中 -i 用于列出各个文件与它们的 inode 号。如下所示:

“`

[root@linux ~]# ls -li /etc/hosts /root/hosts /root/hosts.link

262237 -rw-r–r– 3 root root 197 6月 6 23:30 /etc/hosts

258212 -rw-r–r– 2 root root 197 6月 7 00:27 /root/hosts

258212 -rw-r–r– 2 root root 197 6月 7 00:27 /root/hosts.link

“`

从上面的输出结果可以看出:/root/hosts 和 /root/hosts.link 的 inode 号相同,意味它们指向同一个文件。

注意:因为硬链接不能指向目录,所以我们无法在不同的目录中创建硬链接。在 Linux 文件系统中,硬链接不能跨越文件系统文件,并且硬链接不支持符号链接,因为符号链接是基于文件名来寻找目标的。

结论

在本篇文章中,我们学习了在 Linux 文件系统中的软链接和硬链接两种链接文件的方法及所具有的特性。在实际应用中,软链接和硬链接均有其优势和劣势、适用范围和实际应用场景。因此,在实际生产环境中,建议根据实际情况,灵活选择合适的方式来实现链接目录。

相关问题拓展阅读:

2-18 Linux中的连接文件 — 软链接

Linux中的软链接类似于windows中的

快捷方式

创建方式:ln -s oldfile newfile。

    例:文件软链接 (目录软链接也是一样的操作方式)。

    1、tmp 目录下创建一个 test.txt 文件。

    2、ln -s test.txt test,为 test.txt 文件创建一个名为 test 的软链接。

    3、ll 查看详情会发现有一个蓝色的 test –> test.txt (test 指向 test.txt)。同时

文件类型

是l 开头,l 是指链接文件的意思。 搜戚

    4、对软链接文件进行 vim 操作。输入This is ln -s test. :wq保存并退出。

    5、通过cat test 和 cat test.txt 查看内容。得出的结果都是一样的。既软链接 test 和 test.txt已经建立关联,对 test 操罩没作等于对 test.txt 操作。

tips:软链接特点。

    1、可以对不存在世闷陵的文件创建软链接。

    tmp 目录下除了 test 和 test.txt 并没有其他文件。

    此时 ln -s abc.txt t1,为不存在的 abc.txt 文件创建一个 t1 的软链接。t1 软链接是可以创建的,只是由于没有真实存在的 abc.txt 文件。通过 ll 查看详情,系统会在 abc.txt 处用红色闪      烁高光发出提示,意指abc.txt文件不存在。

    此时,tmp 目录下新建一个 abc.txt 文件,t1 软链接到 abc.txt 文件就会正常。不会再有红色      提示。

    2、可以对文件 或者 目录创建软链接,目录创建软链接和文件创建软链接流程一样。

    3、删除软链接,不会影响它的指向文件。

    vim t1:编辑 t1 软链接,输入1 t1 的内容保存退出。

    删除 t1 软链接,tmp 目录下已没有软链接指向 abc.txt 文件。

    此时,cat abc.txt 文件可以查看内容,也可以 vim abc.txt 增加 2 abc.txt 内容。证实了,删除软链接,不会影响它的指向文件。

    4、删除了指向文件,该软链接将变为无效连接。

    当 t1 软链接指向实际文件 abc.txt 的时候,t1是可以对 abc.txt 进行增删改查操作的。若 rmrf abc.txt 删除了实质性的 abc.txt 文件后,t1 将不能做任何操作。失去了实质性文件而存在的软链接等同于创建一个空的软链接效果一样。

关于linux 链接 目录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux链接目录:了解Linux文件系统中的软链接和硬链接 (linux 链接 目录)