在 Debian(以及所有 Linux 系统)中,软链接(symbolic link)循环本身不会“死机”,但会导致:
ls -R、find、rsync 等递归遍历时无限循环Too many levels of symbolic links下面按场景说明如何解决和预防。
find 检测find /path -type l -exec readlink {} \;
nameinamei -l /path/to/symlink
如果有循环,会看到重复路径。
ls -l 人工判断ls -l /path
软链接指向自身或父目录常见循环形式:
a -> b
b -> a
或
dir -> dir/sub
rm /path/to/bad_symlink
注意:
rm -rln -sf /correct/target /path/to/symlink
例如:
/var/www -> /var/www/html
/var/www/html -> /var/www
解决:
rm /var/www/html
ln -s /real/path /var/www/html
find 防止循环find /path -xdev -follow
或安全写法:
find /path -type l -printf '%p -> %l\n'
rsync 防止循环rsync -a --copy-links /src/ /dst/
ln -s . loop
导致:
loop/loop/loop/...
rm loop
find / -type l -exec test ! -e {} \; -print
如果你能贴出具体的软链接结构或报错信息,我可以帮你精确给出删除/修复命令。