Linux / Bash: Criar links macios relativos a arquivos na árvore de diretórios?

1

Gostaria de criar links para todos os arquivos em uma árvore de diretórios. O que significa, crie a mesma estrutura de diretório e faça os links neles para o respectivo subdiretório no diretório original.

Isso pode ser feito com

cp -R -s ../foo .

Mas - isso precisa de um caminho absoluto. Então, um pouco

cp -R -s 'readlink -e ../foo' 'readlink -e .'

Gostaria que os links resultantes fossem relativos.

Como eu faria isso?

    
por Ondra Žižka 23.11.2014 / 18:21

2 respostas

0

Você pode colocar mais alguns padrões de glob na frente de ../foo da seguinte forma:

cp -R -s ../foo/* .

Isso criará links simbólicos relativos no diretório atual de todos os arquivos / diretórios encontrados em ../foo/* path.

    
por 23.11.2014 / 18:25
0

O Linux cp cria apenas links simbólicos para o diretório atual, o que significa que ele não vinculará nenhum arquivo em subdiretórios no caminho de origem.

Um script deve ser a resposta, mas este artigo pode seja útil também .

    
por 23.11.2014 / 20:19