在 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 /data/new_dir mylink
-f表示强制覆盖已存在的软链接
ln -snf(避免链接到目录时出问题,推荐)ln -snf /new/target link_name
说明:
-n:如果目标是目录,不会把链接建到目录里ls -l link_name
或
readlink link_name
# 当前软链接
ls -l mylink
# mylink -> /data/old_dir
# 修改目标
ln -snf /data/new_dir mylink
# 验证
ls -l mylink
# mylink -> /data/new_dir
如果你是想批量修改、修改绝对/相对路径,或者修改正在被程序使用的软链接,可以告诉我具体场景,我可以给你更合适的方案。