如何复制带有符号链接的目录并解析它们?

人气:102 发布:2023-01-03 标签: symlink copy shell bash terminal

问题描述

我希望递归复制一个目录的内容,该目录包含符号链接(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
  …

推荐答案

只需使用带有-r选项的cp命令即可递归复制。不需要全部脚本,

18