Shell 将特定文件夹移动到新位置,并在旧位置保留符号链接到新文件夹
我在Shell 将特定文件夹移动到新位置,并在旧位置保留符号链接到新文件夹,shell,find,cp,mv,Shell,Find,Cp,Mv,我在/var/CommuniGate/Accounts/*/中有很多名为Archive.folder的文件夹。如何将它们移动到新位置,并在旧文件夹中保留符号链接到新位置 也许可以使用find和cp来移动它们 find/var/CommuniGate/Accounts/-name'Archive.folder'-exec cp-r--parents{}; 这对于移动它们和保持文件夹结构非常有效。但是怎么能同时与ln保持链接呢?此外,该链接应替换旧文件夹 我尝试过在之后执行以下操作,如果只有一个文
/var/CommuniGate/Accounts/*/
中有很多名为Archive.folder
的文件夹。如何将它们移动到新位置,并在旧文件夹中保留符号链接到新位置
也许可以使用find和cp来移动它们
find/var/CommuniGate/Accounts/-name'Archive.folder'-exec cp-r--parents{};
这对于移动它们和保持文件夹结构非常有效。但是怎么能同时与ln保持链接呢?此外,该链接应替换旧文件夹
我尝试过在之后执行以下操作,如果只有一个文件夹,它就可以工作
find/var/CommuniGate/Accounts/-name'Archive.folder'-delete
查找*-name'Archive.folder'| xargs-0-iDIR sh-c'mkdir-p/$(dirname DIR);ln-s-t/$(dirname DIR)$PWD/DIR'
对于第一个目录之后的所有内容,
sh-c
的权限被拒绝。您只需将文件移动到所需位置,然后创建符号链接:
mv/var/CommuniGate/Accounts/Archive.folder*new\u location/
ln-s新位置/存档文件夹*
我知道。但是帐户有很多子文件夹,每个子文件夹都包含一个Archive.folder。好的,我知道了,那么您可以在新位置中重新使用find命令。我需要在之前删除文件夹吗?