Symlink

使用符號連結複製文件夾

  • June 9, 2020

如何複製包含符號連結的文件夾並將符號連結保留在目標文件夾中?我正在用 PHP/Bash 做這樣的事情:

system("cp -r production-clone-target production-sites/{$instanceName}");

但符號連結不會出現在目標文件夾中。

嘗試將--preserve=links開關添加到您的cp命令中。

來自man cp

   --preserve[=ATTR_LIST]
         preserve the specified attributes (default: mode,ownership,timestamps), 
if possible additional attributes: context, links,xattr, all

編輯:如果在 OS X 下;使用cp -a.

您也可以使用 rsync:

-l, --links                 copy symlinks as symlinks

我喜歡-a,其中也包括這個,也複製子目錄等。

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

因此,在您的程式碼範例中,您可以這樣做:

system("rsync -a production-clone-target production-sites/{$instanceName}");

引用自:https://unix.stackexchange.com/questions/317870