Wie verschiebe ich eine verknüpfte Datei unter Unix?

Wie verschiebe ich eine verknüpfte Datei unter Unix?

Ich habe eine Reihe von Dateien in einem Verzeichnis und Links zu jeder dieser Dateien in einem anderen Verzeichnis. Das ls -lsieht ungefähr so ​​aus:

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

/home/rembol/solr/target/deployJetzt möchte ich diese verknüpften Dateien von nach verschieben /home/rembol/output/. Wenn ich das mache, indem ich einfach aufrufe mv, werden die Links unterbrochen. Ich möchte nicht jede Datei einzeln neu verknüpfen, da es Hunderte davon gibt (sie werden automatisch generiert).

Gibt es eine clevere Möglichkeit, verknüpfte Dateien zu verschieben, anstatt ein Skript zu schreiben, das für jede Datei in jedem Unterverzeichnis rekursiv die Verknüpfung aufhebt, verschiebt und erneut verknüpft?

Antwort1

Kurz gesagt, das mvgeht nicht. Sie müssen die Links selbst neu ausrichten. Ich wollte einen Vorschlag machen, wie das geht, aber es gibt bereits eine wirklich gute Antwort auf eineähnliche Frageauf der Unix/Linux-Site gepostet.

verwandte Informationen