Eu não sei exatamente quais ferramentas você está usando e como elas se comportam com links simbólicos, mas você pode "copiar" a árvore inteira usando links simbólicos (se quiser) automaticamente usando a opção -s de cp (ou -l para links físicos).
Vamos dar uma olhada no exemplo abaixo.
.
├── 1
│ ├── s -> x
│ ├── x
│ ├── y
│ └── z
│ └── 1
└── 2
├── a
│ └── 2
├── b
└── c
Se você quiser que os arquivos comlml 1/ to 2/ no diretório atual, você pode simplesmente fazer:
cp -ans "$PWD/1/"* 2/
Agora 2/ se parece com:
.
...
└── 2
├── a
│ └── 2
├── b
├── c
├── s -> /home/przemoc/links/1/s
├── x -> /home/przemoc/links/1/x
├── y -> /home/przemoc/links/1/y
└── z
└── 1 -> /home/przemoc/links/1/z/1
Explicação das opções cp usadas:
-
-aou--archive
preserva atributos, links e copia diretórios de forma recursiva (na verdade, é um alias de-dR --preserve=all) -
-nou--no-clobber
evita sobrescrever arquivos existentes -
-sou--symbolic-link
cria links simbólicos em vez de copiar literalmente
Os caminhos do arquivo de origem devem ser absolutos nesse caso (é por isso que usei $PWD ), porque cp "pode criar links simbólicos relativos apenas no diretório atual".
Espero que ajude um pouco.