Linux 系统中的软链接与硬链接

06-02 1447阅读

目录

一、什么是软链接?

1. 创建软链接

2. 软链接的特性

3. 软链接的用途

二、什么是硬链接?

1. 创建硬链接

2. 硬链接的特性

3. 硬链接的用途

4. 目录硬链接的特殊性

​编辑

三、软链接与硬链接的区别

1. inode 编号

2. 路径依赖

3. 删除行为

四、实际操作演示

1. 创建和删除软链接

2. 创建和删除硬链接

3. 软链接与硬链接的对比

五、深度对比分析


一、什么是软链接?

        软链接(Symbolic Link)也称为符号链接,类似于 Windows 系统中的快捷方式。它是一个独立的文件,其内容是指向目标文件或目录的路径。通过软链接,我们可以在不同的位置访问同一个文件或目录,而无需复制文件。

1. 创建软链接

创建软链接的命令是 ln -s,其中 -s 表示创建符号链接。语法如下:

ln -s  

示例:

假设我们有一个文件 file_target1.txt,我们想为它创建一个软链接 file_soft.link。

touch file_target1.txt  # 创建目标文件
ln -s file_target1.txt file_soft.link  # 创建软链接
ll  # 查看文件列表

输出结果:

Linux 系统中的软链接与硬链接

从输出中可以看到,file_soft.link 是一个符号链接,指向 file_target1.txt。

2. 软链接的特性

  • 独立性:软链接是一个独立的文件,具有自己的 inode 编号。

  • 路径依赖:软链接依赖于目标文件的路径。如果目标文件被移动或删除,软链接将失效。

    示例:

    删除目标文件后,软链接将失效。

    rm file_target1.txt  # 删除目标文件
    ll  # 查看文件列表

    输出结果:

    Linux 系统中的软链接与硬链接

    可以看到,file_soft.link 仍然存在,但它已经失效,因为目标文件 file_target1.txt 被删除了。

    3. 软链接的用途

    • 路径重定向:将文件或目录的访问路径重定向到另一个位置。

    • 简化路径:通过软链接简化复杂路径,方便访问。

    • 文件共享:在不同目录中共享同一个文件。

      二、什么是硬链接?

              硬链接(Hard Link)是指多个文件名指向同一个 inode(索引节点)。硬链接不是独立的文件,它与目标文件共享同一个 inode,因此它们实际上是同一个文件的不同入口。

      1. 创建硬链接

      创建硬链接的命令是 ln,语法如下:

      ln  

      示例:

      假设我们有一个文件 file_target2.txt,我们想为它创建一个硬链接 file_hard.link。

      touch file_target2.txt  # 创建目标文件
      ln file_target2.txt file_hard.link  # 创建硬链接
      ll  # 查看文件列表

      输出结果

      Linux 系统中的软链接与硬链接

      从输出中可以看到,file_hard.link 和 file_target2.txt 的硬链接数都是 2,这表明它们共享同一个 inode。

      2. 硬链接的特性

      • 共享 inode:硬链接与目标文件共享同一个 inode,因此它们实际上是同一个文件。

      • 路径独立:硬链接不依赖于目标文件的路径,即使目标文件被重命名或移动,硬链接仍然有效。

      • 删除行为:删除一个硬链接不会影响其他硬链接或目标文件,只有当所有硬链接都被删除时,文件才会被真正删除。

        示例:

        删除一个硬链接,目标文件仍然存在。

        rm file_hard.link  # 删除硬链接
        ll  # 查看文件列表

        输出结果

        Linux 系统中的软链接与硬链接

        可以看到,file_target2.txt 仍然存在,只是硬链接数减少到 1。

        3. 硬链接的用途

        • 文件备份:通过硬链接创建文件的备份,节省磁盘空间。

        • 文件共享:在不同目录中共享同一个文件。

        • 系统文件管理:用于系统文件的冗余备份和管理。

          4. 目录硬链接的特殊性

          Linux 系统中的软链接与硬链接

          目录结构解析:

          • . 代表当前目录

          • .. 代表父目录

          • 每个子目录的..都会增加父目录的链接计数

            系统限制的意义:

            禁止用户创建目录硬链接是为了防止出现循环引用,避免文件系统陷入死循环。

            三、软链接与硬链接的区别

            1. inode 编号

            • 软链接:具有独立的 inode 编号。

            • 硬链接:与目标文件共享同一个 inode 编号。

              示例:

              ll -i  # 查看 inode 编号

              输出结果

              Linux 系统中的软链接与硬链接

              可以看到,file_soft.link 有独立的 inode 编号(527771),而 file_hard.link 与 file_target2.txt 共享同一个 inode 编号(527769)。

              2. 路径依赖

              • 软链接:依赖于目标文件的路径,路径改变会导致软链接失效。

              • 硬链接:不依赖于目标文件的路径,即使目标文件被重命名或移动,硬链接仍然有效。

                示例:

                移动目标文件后,软链接失效,硬链接仍然有效。

                mv file_target2.txt /home/lv/  # 移动目标文件
                ll  # 查看文件列表

                输出结果

                Linux 系统中的软链接与硬链接

                可以看到,file_soft.link 已经失效,而 file_hard.link 仍然有效。

                3. 删除行为

                • 软链接:删除软链接不会影响目标文件。

                • 硬链接:删除一个硬链接不会影响其他硬链接或目标文件,只有当所有硬链接都被删除时,文件才会被真正删除。

                  示例:

                  删除目标文件后,硬链接仍然有效。

                  rm file_target2.txt  # 删除目标文件
                  ll  # 查看文件列表

                  输出结果

                  Linux 系统中的软链接与硬链接

                  可以看到,file_hard.link 仍然存在,因为它是硬链接。

                  四、实际操作演示

                  1. 创建和删除软链接

                  Linux 系统中的软链接与硬链接

                  2. 创建和删除硬链接

                  Linux 系统中的软链接与硬链接

                  3. 软链接与硬链接的对比

                  Linux 系统中的软链接与硬链接

                  五、深度对比分析

                  特性软链接硬链接
                  存储内容目标路径直接指向inode
                  inode编号独立与源文件相同
                  跨文件系统✔️
                  目录支持✔️❌(系统目录除外)
                  文件删除影响链接失效减少链接计数
                  文件大小路径字符长度与源文件相同
                  权限显示显示lrwxrwxrwx与源文件相同
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码