在 CentOS(以及其它 Linux 发行版)里,**软链接(symbolic link,软连接)**本身不能直接“修改指向”,通常的做法是:
rm -f /path/to/link
ln -s /new/target /path/to/link
示例:
rm -f /usr/bin/python
ln -s /usr/bin/python3.9 /usr/bin/python
ln -sf 强制覆盖(推荐)ln -sf /new/target /path/to/link
示例:
ln -sf /data/app/v2 /opt/app
-f表示如果软链接已存在,直接覆盖
mv 改指向(不推荐,容易误解)有些人会用:
mv /old/target /new/target
但这只是移动了真实文件,不是改软链接指向,不建议用来“改指向”。
ls -l /path/to/link
或
readlink /path/to/link
ln -s ../app/v1 link
ln -sf /new/dir /old/dir
如果 /old/dir 已存在且是目录,可能会变成:/old/dir/new/dir
正确做法:rm -rf /old/dir
ln -s /new/dir /old/dir
如果你是 修改系统关键软链接(如 python、java、mysql),可以告诉我具体场景,我可以给你更安全的操作方式。