cp и mv альтернатива с лучшей поддержкой слияния?

Я ищу альтернативу стандартным инструментам командной строки cp и mv, в частности, я ищу такие функции, как:

  • подробный индикатор выполнения / отчеты
  • поддержка пробного запуска
  • поддержка слияния каталогов
  • нет предупреждения о перезаписи, когда исходный и целевой файлы идентичны
  • разрешение конфликтов при перезаписи (т. Е. Переименование одного из файлов)
  • копирование в несколько целей одновременно
  • многопоточность (т.е. продолжить копирование в фоновом режиме, пока я занимаюсь разрешением конфликтов на переднем плане)

Так что в основном это особенность установить аналогично тому, что Windows 8 Explorer может делать при копировании или перемещении файлов.

PS: rsync с --progress --recursive --remove-source-files --checksum --backup в некоторой степени пригодны для объединения каталогов, но все еще далеки от совершенства, поскольку удаляют только исходные файлы, а не каталоги, и на самом деле не имеют большого количества интерактивного разрешения конфликты.

1
задан 19 January 2014 в 12:18

4 ответа

rsync можно использовать локально для копирования / обновления файлов. Например:

rsync --progress -a sourcedir/ destdir/

Если у вас его еще нет,

sudo apt-get install rsync

Существует огромное количество других вещей, которые делает rsync, подробности смотрите на странице руководства и / usr / share / doc / rsync / для примеров.


ETA: следуя "PS" в вопросе, если вам нужна еще более сложная синхронизация, попробуйте:

sudo apt-get install unison unison-gtk

Запустите unison-gtk и настройте профиль. Каждый раз, когда вы запускаете синхронизацию из этого профиля, вам будет предложено, что делать при столкновении / конфликте между двумя каталогами в профиле. Для каждого конфликта вы в интерактивном режиме сможете выбрать правильное действие (синхронизировать или пропустить) для каждого файла.

0
ответ дан 19 January 2014 в 12:18

Вы ищете rsync. По крайней мере, я считаю, что он поддерживает все, что вам нужно.

Я запускаю его с помощью переключателя -A, хотя на странице руководства будет показано все, что вам нужно.

В худшем случае, или вы ничего не можете найти, вы можете сделать свой собственный.

0
ответ дан 19 January 2014 в 12:18

Я написал небольшой небольшой скрипт move.py для обработки слияния каталогов, поскольку, пока работает rsync, rsync выполняет копирование, а не переименование, и, таким образом, оказывается очень медленным на больших наборах данных:

0
ответ дан 19 January 2014 в 12:18

В дополнение к другим ответам, предлагающим rsync, вы также можете использовать grsync. См. Это руководство о том, как использовать Rsync и Grsync Backups для Linux .

0
ответ дан 19 January 2014 в 12:18

Другие вопросы по тегам:

Похожие вопросы: