在 macos 终端中,使用 ln 命令并指定目标文件路径即可创建硬链接。默认情况下该命令会生成同名硬链接,若需自定义名称可追加第二个参数;由于硬链接要求源文件和目标位置位于同一文件系统且不能用于目录,操作前需确认路径合规。

如何为普通文件创建同名的硬链接
直接运行 ln 源文件路径 目标路径 即可完成创建。系统会在目标路径下生成一个与源文件指向相同 inode 的新条目,修改任一文件名对应的内容都会实时反映给另一个。

ln /Users/dev/test.txt /Users/dev/hardlink_test.txt ls -li /Users/dev/test.txt /Users/dev/hardlink_test.txt
预期结果:两行输出显示相同的 inode 编号(第一列数字),且链接数(Link count)大于 1。
如何为普通文件创建自定义名称的硬链接
在 ln 命令后依次传入源文件路径和期望的目标文件名即可。此方式常用于备份或在不改变原文件名的前提下提供快捷访问入口,同样受限于同一分区约束。

ln /Users/dev/data.csv /Users/dev/backup_data.csv stat /Users/dev/data.csv | grep "Inode"
预期结果:stat 命令输出的 Inode 值与 backup_data.csv 的 Inode 值完全一致,证明两者共享同一数据块。
尝试对目录创建硬链接会发生什么
对目录执行 ln 命令会直接报错,因为 Unix-like 系统禁止通过硬链接遍历目录树以避免循环引用。此时应改用 ln -s 创建符号链接作为替代方案。


















