在 Linux 终端里,软链接(符号链接,symbolic link)显示成红色,通常是以下几种原因之一。下面按常见程度说明:
如果软链接变成了红色(或红底白字),绝大多数情况是:
软链接指向的文件/目录已经被删除或移动了
例如:
ln -s /opt/app/bin/app app_link
rm /opt/app/bin/app
此时 app_link 就会变红,表示“断链(broken symlink)”。
✅ 解决方法:
ls -l app_link
ln -sf 正确路径 app_link
Linux 终端颜色由 LS_COLORS 控制:
你可以查看:
echo $LS_COLORS
其中类似:
ln=01;36 # 软链接颜色
or=01;31 # 断链(红色)
例如:
ln -s a a
这种循环链接也可能被显示为红色或特殊颜色。
可通过:
namei -l 软链接路径
检查每一级路径是否可访问。
某些终端主题(如 oh-my-zsh、powerlevel10k)会:
ls -l 软链接
readlink 软链接
ls -l $(readlink 软链接)
如果你愿意,可以把 ls -l 的输出贴出来,我可以帮你准确判断是哪一种情况。