在 Linux 中,**软链接(symbolic link,软连接)断链(dangling / broken symlink)**指的是:软链接指向的目标文件或目录已经不存在,或者当前路径下无法访问。
常见原因总结如下:
最常见原因。
ln -s /data/file.txt link.txt
rm /data/file.txt
# 此时 link.txt 成为断链
软链接记录的是路径,不是 inode。
ln -s /data/file.txt link.txt
mv /data/file.txt /data/file2.txt
# link.txt 仍指向 /data/file.txt → 断链
相对软链接依赖于当前位置。
ln -s file.txt sub/link.txt
mv sub /tmp/
# 此时 /tmp/link.txt 找不到 ../file.txt
ln -s /mnt/nas/data link
umount /mnt/nas
# link 断链
目标存在,但:
ln -s /root/secret link
# 普通用户访问 link 会失败
ln -s a a
ln -s /data/fil.txt link # 拼写错误
find /path -xtype l
查看软链接指向:
ls -l link
readlink link
如果你有具体场景(如 Docker、NFS、编译报错),可以贴出来,我可以帮你精准分析。