Como movo um arquivo vinculado no Unix?

Como movo um arquivo vinculado no Unix?

Eu tenho vários arquivos em um diretório e links para cada um desses arquivos em outro diretório. Então ls -lse parece com isto:

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/deploypara /home/rembol/output/. Se eu fizer isso simplesmente ligando mv, os links serão quebrados. Não quero vincular novamente 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 desvincule, mova e vincule recursivamente para cada arquivo em cada subdiretório?

Responder1

A versão resumida é que mvnã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 umapergunta semelhantepostado no site Unix/Linux.

informação relacionada