Como faço para mover um arquivo vinculado no Unix?

6

Eu tenho um monte de arquivos em um diretório e links para cada um desses arquivos em outro diretório. Então ls -l é algo assim:

lrwxrwxrwx 1 rembol rembol   89 Jan 25 10:00 copyright.txt -> /home/rembol/solr/target/deploy/data/core/copyright.txt
lrwxrwxrwx 1 rembol rembol   92 Jan 25 10:00 jar-versions.xml -> /home/rembol/solr/target/deploy/data/core/jar-versions.xml
lrwxrwxrwx 1 rembol rembol   85 Jan 25 10:00 lgpl.html -> /home/rembol/solr/target/deploy/data/core/lgpl.html
lrwxrwxrwx 1 rembol rembol   79 Jan 25 10:00 lib -> /home/rembol/solr/target/deploy/data/core/lib
lrwxrwxrwx 1 rembol rembol   87 Jan 25 10:00 readme.html -> /home/rembol/solr/target/deploy/data/core/readme.html
drwxr-xr-x 3 rembol rembol 4096 Jan 25 10:00 server
drwxr-xr-x 2 rembol rembol 4096 Jan 25 10:00 startup

Agora, quero mover esses arquivos vinculados de /home/rembol/solr/target/deploy para /home/rembol/output/ . Se eu fizer isso, simplesmente chamando mv , os links serão interrompidos. Eu não quero re-linkar cada arquivo separadamente, porque existem centenas deles (eles são gerados automaticamente).

Existe alguma maneira inteligente de mover arquivos vinculados, em vez de escrever um script que desvincula, move e relinks recursivamente para cada arquivo em cada subdiretório?

    
por r3mbol 25.01.2012 / 10:08

1 resposta

3

A versão curta é que mv não pode fazer isso. Você precisará redirecionar os links por conta própria. Eu ia oferecer uma sugestão sobre como fazer isso, mas já existe uma resposta muito boa para um pergunta similar postada no site do Unix / Linux.

    
por 25.01.2012 / 23:45