在 Ubuntu(以及大多数使用 ls 着色的 Linux 终端)里,软链接(符号链接,symlink)显示为红色,通常意味着这个软链接“断链”了,也就是它指向的目标不存在或不可访问。
目标文件/目录已被删除
ln -s /path/to/file linkname
# 后来 /path/to/file 被删除了
→ linkname 变成红色
目标路径写错
ln -s wrong/path linkname
实际不存在该路径
相对路径软链接位置移动
ln -s ../a/b link
# 把 link 移动到别的目录后,相对路径失效
权限不足导致无法访问目标
ls -l linkname
如果看到类似:
linkname -> /path/to/missing
且目标不存在,就是断链。
也可以:
readlink linkname
或
test -e linkname && echo OK || echo BROKEN
ln -sf 正确目标路径 linkname
rm linkname
在 LS_COLORS 默认配置中:
你可以用:
dircolors -p | grep LINK
查看具体配置。
如果你愿意,可以把 ls -l 的输出贴出来,我可以帮你判断具体是哪种情况。