• Linux硬链接和软链接详解(深度剖析)

    通过学习《Linux ln 命令》一节可以看到,使用 ln 命令建立硬链接和软链接非常简单,那这两种链接有什么区别,它们各自的作用和特点又是什么?为了解开这些疑问,本节将对硬链接和软链接做深度剖析。

    对硬链接的深度剖析

    首先,我们再来建立一个硬链接文件,然后看看这两个文件的特点。

    [root@localhost ~]# touch test
    #建立源文件
    [root@localhost ~]# ln /root/test /tmp/test-hard
    #给源文件建立硬链接文件 /tmp/test-hard
    [root@localhost ~]# ll -i /root/test /tmp/test-hard
    262147 -rw-r--r-- 2 root root 0 6月 19 10:06 /root/test
    hard
    262147 -rw-r--r-- 2 root root 0 6月 19 10:06 /tmp/test-hard
    #查看两个文件的详细信息,可以发现这两个文件的 inode 号是一样的,"ll"等同于"ls -l"。

    这里有一件很奇怪的事情,我们之前在讲 inode 号的时候说过,每个文件的 inode 号都应该是不一样的。inode 号就相当于文件 ID,我们在查找文件的时候,要先查找 inode 号,才能读取到文件的内容。

    但是这里源文件和硬链接文件的 inode 号居然是一样的,那我们在查找文件的时候,到底找到的是哪一个文件呢?我们来画一张示意图,如图 2 所示。


    硬链接示意图
    图 2 硬链接示意图

更多...

加载中...