6

У меня есть куча файлов в одном каталоге и ссылки на каждый из этих файлов в другом каталоге. Итак, ls -l выглядит примерно так:

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/deploy в /home/rembol/output/ . Если я сделаю это, просто позвонив в mv , ссылки прервутся. Я не хочу повторно связывать каждый файл отдельно, потому что их сотни (они генерируются автоматически).

Есть ли какой-нибудь умный способ перемещения связанных файлов вместо написания сценария, который освобождает от обязательств, перемещает и повторно связывает рекурсивно для каждого файла в каждом подкаталоге?

1 ответ1

3

Если коротко, то mv не может этого сделать. Вам нужно будет перенаправить ссылки самостоятельно. Я собирался предложить предложение о том, как это сделать, но уже есть действительно хороший ответ на аналогичный вопрос, размещенный на сайте Unix/Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .