欢迎来到程序员中文网!

首页 Linux Mysql C++ Python PHP JavaScript 资源下载 动态 开源推荐
我要投稿 投诉建议

深入理解 Linux 软链接与硬链接:区别与应用场景

时间:2026年08月12日 05:26:48 浏览:0

深入理解 Linux 软链接与硬链接:区别与应用场景


链接是 Linux 文件系统的核心特性,正确使用可简化管理。


1. 硬链接 (Hard Link)



  • 多个文件名指向同一个 inode(文件数据)。

  • 删除原文件不影响硬链接(引用计数减1,计数不为0则数据保留)。

  • 不能跨文件系统,不能链接目录。


ln /path/original /path/hardlink
ls -li /path/original /path/hardlink # 查看 inode 号相同

2. 软链接 (Symbolic Link / Symlink)



  • 特殊文件,存储目标路径

  • 原文件删除则软链接失效(悬空链接)。

  • 可跨文件系统,可链接目录。


ln -s /target /path/symlink
ls -l /path/symlink # 显示 -> /target

3. 实际应用场景



  • 硬链接:备份快照(如 rsync --link-dest),避免重复存储。

  • 软链接:版本切换(如 ln -sf /usr/bin/python3.11 /usr/bin/python)、快捷方式、跨分区链接。


4. 查找所有硬链接


find / -inum $(stat -c %i file) 2>/dev/null

5. 注意事项



  • 硬链接不增加文件大小,但修改任一链接都会改变内容。

  • 软链接的权限(777)不决定实际目标权限,目标权限决定访问。

  • 谨慎删除软链接源文件,避免使用 rm -rf 误删链接指向目录。