在 Linux 中,修改**软链接(symbolic link)**的目标有几种常见方法,下面按使用场景说明。
rm link_name
ln -s /new/target link_name
示例:
rm mylink
ln -s /data/new_dir mylink
使用 ln -sf:
ln -sf /new/target link_name
示例:
ln -sf /opt/app_v2 myapp
-f表示强制覆盖已存在的软链接
不会删除目标文件,只改链接指向
如果系统支持(GNU coreutils):
ln -snf /new/target link_name
参数说明:
-s:软链接-n:把 link_name 当普通链接处理(避免变成目录内的链接)-f:强制示例:
ln -snf /var/log/app mylog
ls -l link_name
或
readlink link_name
相对路径 vs 绝对路径
ln -s ../data/a link
相对路径是“相对于软链接位置”的
目录软链接
ln -sfn /new/dir mydir
一定要加 -n,否则可能变成:
mydir/new/dir
如果你有具体场景(比如 Docker、启动脚本、版本切换),可以告诉我,我给你更合适的命令。