3.软链接和硬链接
在Linux系统中,硬链接和软链接(也称为符号链接)是两种用于创建文件或目录指针的方法,它们在功能和实现上有明显的区别。
1. 硬链接(Hard Link)
-
本质:硬链接是指向相同物理数据块的多个文件名,它们共享相同的inode(索引节点)。
-
特点:
- 硬链接文件与原文件完全等效,删除任何一个文件名,数据仍然存在(除非所有硬链接都被删除)。
- 硬链接只能创建在同一个文件系统中,不能跨文件系统。
- 硬链接不适用于目录,只能用于文件。
- 硬链接的inode编号与原文件相同,说明它们实际上是同一个文件的多个引用。
-
创建命令:
ln source_file hard_link_name
2. 软链接(符号链接,Symbolic Link or Symlink)
-
本质:软链接是一个指向目标文件路径的文件,类似于快捷方式。它是一个独立的文件,存储了另一个文件或目录的路径。
-
特点:
- 软链接可以指向不同文件系统上的文件或目录,支持跨文件系统链接。
- 软链接可以指向目录,也可以指向文件。
- 如果原文件被删除,软链接会变为“断开的链接”(即指向一个不存在的路径),此时访问软链接会提示错误。
- 软链接的inode编号与目标文件不同,它是一个独立的文件。
-
创建命令:
ln -s target_file_or_directory symlink_name
总结区别
- 文件类型:硬链接是原文件的另一个名字,共享相同的数据块;软链接是一个独立的文件,指向另一个文件或目录的路径。
- inode:硬链接共享相同的inode,软链接有不同的inode。
- 跨文件系统:硬链接不能跨文件系统创建,而软链接可以。
- 对目录的支持:硬链接一般不用于目录,软链接可以指向目录。
- 删除行为:删除硬链接不会影响文件内容,删除软链接或目标文件不会删除内容但会导致链接失效。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库