Crie links simbólicos recursivamente para uma árvore inteira

20

Estou procurando um comando que recrie uma árvore inteira de arquivos em um diretório diferente. Eu preferiria ter todos os links simbólicos absolutos. Posso fazer isso com um find e xargs? ;-)

lzap
fonte
1
Eu não entendi a idéia. Se você criar, por exemplo, um link simbólico chamado /tmp/somedirectoryapontando para /home/me/somegreatdir, todo o conteúdo de somegreatdirserá visível em /tmp/somedirectory. Isso precisa de apenas um link simbólico para a árvore inteira. Ou o que mais você quer?
jankes

Respostas:

26

cp -rs source/ dest/deve fazer o truque. A estrutura do diretório será recriada em dest / com cada arquivo sendo um link simbólico para sua contraparte na origem.

Pablo Castellazzi
fonte
Também minha primeira tentativa. Falha ao conseguir cpcriar o link simbólico para source/some_deeper_dir/files.
Jokester
1
Na minha experiência, você tem que usar o caminho completo para a origem (por exemplo cp -Rs /home/myusername/source dest), caso contrário, ele irá reclamar. aqui está uma ref: lists.gnu.org/archive/html/help-gnu-utils/2004-08/msg00039.html
22degrees
4

Caso cp -rsnão seja a resposta que você está procurando, lndirpode ser a resposta correta.

Mikko Rantalainen
fonte
Manejou estruturas de subdiretórios perfeitamente profundas. Instalou-o no debian usandosudo apt-get install xutils-dev
user299481 03/09