如何使用符号链接复制目录并解决它们?

时间:2014-05-18 21:11:10

标签: bash shell terminal copy symlink

我想以递归方式复制包含符号链接(符号链接)的目录的内容以及带有Bash / Shell脚本的普通文件。我不知道如何复制符号链接内容。伪代码看起来像这样:

for file in directory do
  if is symlink
    resolve symlink and copy its contents
  else 
    copy the file / folder

我的目录结构如下所示:

base/
  dir1/
  symlinkdir1*/ (--> ../somewhere/else/dirA)
    /file1
    /file2
  symlinkdir2*/ (--> ../somewhere/else/dirB)
    /file3
    /file4
  …

在复制程序之后,我希望有一个像这样的目录结构:

base/
  dir1/
  symlinkdir1/ (no symlink, actual directory)
    /file1
    /file2
  symlinkdir2/ (no symlink, actual directory)
    /file3
    /file4
  …

3 个答案:

答案 0 :(得分:2)

只需使用带有cp选项的-r命令进行递归复制。不需要一起编写脚本,

答案 1 :(得分:1)

只是cp -r ./SourceFolder ./DestFolder

答案 2 :(得分:0)

cp -rL / source /目标

r =递归 L =跟随并扩展符号链接