在 Debian(以及大多数使用 ls 彩色输出的 Linux 发行版)中,软连接(符号链接)显示成红色,通常表示该软连接是“断链”(broken symlink),也就是它指向的目标不存在。
目标文件/目录被删除或移动
ln -s /tmp/oldfile link
rm /tmp/oldfile
此时 link 就会变红。
相对路径写错
ln -s wrong/path link
如果 wrong/path 不存在,也会是红色。
在另一个目录查看软连接 使用相对路径创建的软连接,换目录后目标就找不到了。
挂载点未挂载
软连接指向 /mnt/disk/file,但磁盘没挂载。
ls -l linkname
如果看到类似:
linkname -> /path/not/exist
且 /path/not/exist 不存在,就是断链。
也可以:
readlink -f linkname
如果返回空或报错,说明目标无效。
极少数情况:
LS_COLORS 被改)可检查:
echo $LS_COLORS
rm linkname
ln -s /正确/路径 linkname
ln -snf /正确/路径 linkname
如果你愿意,可以把 ls -l 的输出贴出来,我可以帮你具体看是哪一种情况。