美文网首页
2-19 Linux中的连接文件 --- 硬链接

2-19 Linux中的连接文件 --- 硬链接

作者: 捌千里路雲和月 | 来源:发表于2021-04-14 09:10 被阅读0次

    了解硬链接之前先梳理一些概念

    Inode 编号:

    Inode 编号是文件的索引节点的编号,每个文件都会有一个Inode编号。系统需要找到文件是根据 Inode 编号进行索引。

    文件名:

    无论是一个目录还是文件,都有一个文件名。它是给操作者看的。系统不看文件名,系统是根据 Inode 编号找到这个文件名再进行操作。

    硬链接:多个文件对应同一个 Inode 编号,对多个文件中的某一个文件修改内容,同一 Inode 编号的文件都会随之发生内容上的改变。它的工作模式是 多用户协同一致工作。

    查看Inode 编号:

    ls -i:-i 选项是列出文件的 Inode 编号。可以整合其他选项一同查看。

    如 ll -i 列出详细内容和Inode 编号

        创建硬链接有两种方法:

        link oldfile newfile   和   In oldfile newfile

        例:对 test.txt 文件创建 5 个硬链接

        ll -i 查看详情。发现虽然 6 个文件名都不一样,但 Inode 编号都一样。对于系统来说,虽然       文件名不一样,但是 Inode 编号是一样的。它们就是同一个文件。所以,即使不同的文件名       进行操作,最后存储的文件都只有一个,就是这个 Inode 编号的文件。

        Inode 编号一样的文件,随便对其中一个文件进行内容的增删改查。其他的文件内容上也随        之发生变化。

        例:vim user1 这个文件,添加内容 user1 保存退出。然后,查看其他 Inode 编号一样的文        件看看有什么变化。

        cat 了其他几个文件,反馈出来的信息都是 vim user1 的内容。证实了 Inode 编号一样的文        件。只要有一个文件内容变化了,都会反映到同一 Inode 编号的文件当中。 

    如同,再对 user3 文件增加一个 user3 这样的内容,其他同一 Inode 编号的文件也会体现出同样的内容。


    tips:硬链接特点:

        1、不能对目录创建硬链接。

        例:1、mkdir test 创建一个 test 的目录。

               2、ll -i 确认 test 目录已经生成。

               3、link test t1:对 test 目录创建一个名为 t1 的硬链接。

               4、报错:t1 不能生成硬链接到 test 。

        2、只能对已经存在的文件进行硬链接创建,也就是不能像软链接那样创建一个空的指向。

       例:1、link user10 u1:user10 文件不存在,却对 user10 创建一个 u1 的硬链接。

              2、报错:没有找到文件

        3、删除一个硬链接文件,不影响其他相同 Inode 编号的文件 rm -rf user1 user2 user3 user4           user5:删除同一 Inode 编号的 user1-5 的文件。cat test.txt 文件,同样可以看到内容。            证明了, 删除同一 Inode编号的硬链接文件,不会对其他文件有影响。

    相关文章

      网友评论

          本文标题:2-19 Linux中的连接文件 --- 硬链接

          本文链接:https://www.haomeiwen.com/subject/sozqlltx.html