【发布时间】:2019-04-04 10:37:49
【问题描述】:
我同步目录“Promotion”,其中包含具有不同目录结构的两台机器之间的绝对符号链接。因此绝对符号链接在两台机器上都不起作用。为了使它们起作用,我想将它们转换为相对链接。 目录结构是
Machine 1: /home/user/Privat/Uni Kram/Promotion/
Machine 2: /homes/user/Promotion/
这里有两个示例符号链接:
4821 1 lrwxrwxrwx 1 manu users 105 Nov 17 2014 ./Planung\ nach\ Priorit\303\244ten.ods -> /home/manu/Dokumente/Privat/Uni\ Kram/Promotion/Pl\303\244ne\ und\ Ideen/Pl\303\244ne/Planung\ nach\ Priorit\303\244ten.ods
37675 1 lrwxrwxrwx 1 manu users 102 Aug 3 2015 ./Kurs/Lab\ Course\ Somewhere -> /home/manu/Dokumente/Privat/Uni\ Kram/Promotion/Workshops\ &\ Fortbildungen/Kurs\ Lab\ Course\ Somewhere
我的非工作尝试是(基于示例this):
find * -type l -print | while read l; do
ln -srf $(cut -c 24- < $(readlink $l)) $l;
done
【问题讨论】:
-
鉴于与链接相关的
rsync选项的数量,如果没有人处理,我会感到惊讶。我没有使用它们的经验,现在无法测试,但如果你还没有,你绝对应该研究它们。 -
Welp,根据this 2014 answer on SuperUser,不,没有这样的选项。它建议将绝对链接更改为相对链接。
-
请注意,相对链接是相对于链接所在的位置