硬链接是多个文件名指向同一inode的链接方式,共享数据块且修改同步。使用ln 源文件 硬链接文件创建,如ln file.txt link_file.txt。两者inode相同,可通过ls -i验证;链接数显示在ls -l第一列数字中。特点:不能跨文件系统、不能对目录创建;删除一个链接不影响数据,仅当所有链接删除后数据才释放。

在Linux中,硬链接(Hard Link)是指多个文件名指向同一个inode节点,也就是说它们共享同一份数据。修改任何一个硬链接文件的内容,其他链接文件也会同步变化。创建硬链接使用的是ln命令。
什么是硬链接
硬链接不是独立的文件,它只是原文件的一个别名,指向相同的物理数据块。由于共用inode,删除其中一个链接不会影响数据,只有当所有链接都被删除时,数据才会真正释放。
特点:
- 不能跨文件系统创建(因为不同文件系统的inode是独立的)
- 不能对目录创建硬链接(出于系统安全和结构考虑)
- 删除原始文件后,硬链接仍可访问数据
ln命令创建硬链接语法
ln 源文件 硬链接文件说明:
- 源文件:必须是已存在的文件
- 硬链接文件:新创建的链接名称,如果不存在则自动创建
实际操作示例
假设当前目录有一个文件file.txt,想为其创建一个硬链接叫link_file.txt:
执行后,link_file.txt就和file.txt指向同一个inode。可以用以下命令验证:
输出会显示两个文件的inode号相同,说明是硬链接关系。
查看硬链接数量
每个文件都有一个“链接计数”(link count),表示有多少个硬链接指向该inode。使用:
ls -l 文件名输出中第一列的数字就是链接数。例如:
-rw-r--r-- 2 user group 1024 Apr 5 10:00 file.txt这里的“2”表示有两个硬链接(包括自己)。
基本上就这些。只要记住ln 源 目标这个基本格式,就能快速创建硬链接。注意只能用于普通文件,且不能跨分区。不复杂但容易忽略细节。










