Eu tenho vários arquivos em um diretório e links para cada um desses arquivos em outro diretório. Então ls -l
se 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/deploy
para /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 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 umapergunta semelhantepostado no site Unix/Linux.