笔记2之软链接与硬链接

软链接(Symbolic Link):

ln -s source_file link_name
  1. 概念: 软链接是一个独立的文件,它包含了指向另一个文件的路径。换句话说,软链接是一个指针,指向另一个文件。

  2. 创建方式: 使用 ln -s 命令创建软链接。

  3. 特点:

    • 可以链接到不同文件系统的文件。
    • 允许链接到不存在的文件。
    • 可以链接到目录。
  4. 删除: 删除软链接不会影响原始文件

硬链接(Hard Link):

  1. 概念: 硬链接是文件系统中的两个或多个文件,它们共享相同的 inode 和数据块。每个硬链接都是文件系统目录中的一个条目,它们共享相同的数据块。

  2. 创建方式: 使用 ln 命令创建硬链接。

    ln source_file link_name
  3. 特点:

    • 只能链接到同一文件系统中的文件。
    • 必须链接到已存在的文件。
    • 不能链接到目录。
  4. 删除: 删除任何一个硬链接不会影响其他链接,只有在所有链接都被删除后,文件的数据块才会被释放。

拓展:当创建一个目录,发现硬链接数为2,因为有本身自己的目录名与inode映射和.与inode的映射,再创建一个目录变为3,因为有..与当前inode的映射。

区别与联系:

  1. 链接数:

    • 软链接: 每个软链接都有自己的 inode 和数据块,因此软链接的链接数是1。
    • 硬链接: 所有硬链接共享相同的 inode 和数据块,因此硬链接的链接数是多个。
  2. 指向性:

    • 软链接: 指向文件路径,可以链接到目录。
    • 硬链接: 指向相同的 inode,不能链接到目录。
  3. 跨文件系统:

    • 软链接: 可以链接到不同文件系统的文件。
    • 硬链接: 只能链接到同一文件系统的文件。
  4. 文件删除:

    • 软链接: 删除软链接不会影响原始文件。
    • 硬链接: 删除任何一个硬链接不会影响其他链接,只有当所有链接都被删除后,文件的数据块才会被释放。
  5. 创建:

    • 软链接: 可以链接到不存在的文件。
    • 硬链接: 必须链接到已存在的文件。

总体而言,软链接提供更大的灵活性,但相对于硬链接来说,它们对文件系统的支持有一些限制。硬链接是文件系统中的多个文件共享相同的数据块,因此删除一个硬链接并不会影响其他链接。(来源chatgpt)

你可能感兴趣的:(笔记)