在 CentOS(以及大多数使用 ls 彩色输出的 Linux 发行版)中,软连接(符号链接)显示成红色,通常代表这个软连接指向的目标已经不存在(断链 / dangling symlink)。
原文件/目录被删除或移动
ln -s /opt/app/data link_data
rm -rf /opt/app/data
此时 link_data 就会变红。
目标路径写错 创建时路径不对,例如:
ln -s /opt/app/dat link_data # dat 实际不存在
跨文件系统或挂载点未挂载
例如软链指向 /mnt/nas/data,但 NAS 没挂载。
权限不足导致无法访问目标
某些情况下 ls 认为目标不可达,也可能显示为特殊颜色(但红色最典型还是断链)。
ls -l 链接名
如果看到类似:
link_data -> /opt/app/data (红色)
再用:
ls -l /opt/app/data
若提示 No such file or directory,说明是断链。
也可使用:
readlink -f 链接名
若返回空或报错,也说明目标不存在。
rm 链接名
ln -s 正确路径 链接名
| 颜色 | 含义 |
|---|---|
| 蓝色 | 目录 |
| 青色 | 软链接(正常) |
| 红色 | 断掉的软链接 |
| 绿色 | 可执行文件 |
| 黄色 | 设备文件 |
如果你愿意,可以把 ls -l 的输出贴出来,我可以帮你具体看是哪一种情况。