¿Cómo muevo un archivo vinculado en Unix?

¿Cómo muevo un archivo vinculado en Unix?

Tengo un montón de archivos en un directorio y enlaces a cada uno de esos archivos en otro directorio. Entonces ls -lse ve algo como esto:

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

Ahora quiero mover esos archivos vinculados de /home/rembol/solr/target/deploya /home/rembol/output/. Si hago eso simplemente llamando mv, los enlaces se romperán. No quiero volver a vincular cada archivo por separado, porque hay cientos de ellos (se generan automáticamente).

¿Existe alguna forma inteligente de mover archivos vinculados, en lugar de escribir un script que desvincule, mueva y vuelva a vincular recursivamente para cada archivo en cada subdirectorio?

Respuesta1

La versión corta es que mvno se puede hacer esto. Deberá reorientar los enlaces usted mismo. Iba a ofrecer una sugerencia sobre cómo hacer esto, pero ya hay una muy buena respuesta a unapregunta similarpublicado en el sitio de Unix/Linux.

información relacionada