编辑
2023-11-10
文件系统
00
请注意,本文编写于 547 天前,最后修改于 547 天前,其中某些信息可能已经过时。

硬链接和软连接是 Linux 下两种常见的链接类型,下面详细介绍它们之间的区别:

硬链接(hard link):

  • 目录下可以有多个物理指向同一个 inode 的文件(硬链接文件)。

  • 所有硬链接文件共享同一个 inode,对任意一个文件的修改都会影响其他硬链接文件。

  • 删除最后一个硬链接文件时,该文件才真正被删除,数据一直占用磁盘空间。

  • 不能对目录建立硬链接,一个目录只能有一个名称。

软连接(symbolic link):

  • 软链接本身占用独立的 inode,内部存储指向原文件/目录的路径。

  • 软连接像窗口指向原文件,删除软连接不影响原文件,但原文件删除后软连接失效。

  • 可以对文件和目录建立软连接,向用户暴露为另一个文件/目录路径。

  • 软连接可以指向不同文件系统下的文件,跨设备的软链接需要支持列出的文件系统。

区别:

  • 硬链接操作对象为 inode,软连接操作对象为路径名。
  • 删除硬链接文件不删除数据,删除软连接不影响原文件。
  • 只能为文件建硬链接,目录只能建软连接。

硬链接在磁盘上共享数据块,软连接像指针引用其他路径。

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!