3.软链接和硬链接

在Linux系统中,硬链接和软链接(也称为符号链接)是两种用于创建文件或目录指针的方法,它们在功能和实现上有明显的区别。

  • 本质:硬链接是指向相同物理数据块的多个文件名,它们共享相同的inode(索引节点)。

  • 特点

    • 硬链接文件与原文件完全等效,删除任何一个文件名,数据仍然存在(除非所有硬链接都被删除)。
    • 硬链接只能创建在同一个文件系统中,不能跨文件系统。
    • 硬链接不适用于目录,只能用于文件。
    • 硬链接的inode编号与原文件相同,说明它们实际上是同一个文件的多个引用。
  • 创建命令

    ln source_file hard_link_name
    
  • 本质:软链接是一个指向目标文件路径的文件,类似于快捷方式。它是一个独立的文件,存储了另一个文件或目录的路径。

  • 特点

    • 软链接可以指向不同文件系统上的文件或目录,支持跨文件系统链接。
    • 软链接可以指向目录,也可以指向文件。
    • 如果原文件被删除,软链接会变为“断开的链接”(即指向一个不存在的路径),此时访问软链接会提示错误。
    • 软链接的inode编号与目标文件不同,它是一个独立的文件。
  • 创建命令

    ln -s target_file_or_directory symlink_name
    

总结区别

  • 文件类型:硬链接是原文件的另一个名字,共享相同的数据块;软链接是一个独立的文件,指向另一个文件或目录的路径。
  • inode:硬链接共享相同的inode,软链接有不同的inode。
  • 跨文件系统:硬链接不能跨文件系统创建,而软链接可以。
  • 对目录的支持:硬链接一般不用于目录,软链接可以指向目录。
  • 删除行为:删除硬链接不会影响文件内容,删除软链接或目标文件不会删除内容但会导致链接失效。
posted @   mirs_bo  阅读(26)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示