Я ищу альтернативу стандартным инструментам командной строки cp
и mv
, в частности, я ищу такие функции, как:
Так что в основном это особенность установить аналогично тому, что Windows 8 Explorer может делать при копировании или перемещении файлов.
PS: rsync
с --progress --recursive --remove-source-files --checksum --backup
в некоторой степени пригодны для объединения каталогов, но все еще далеки от совершенства, поскольку удаляют только исходные файлы, а не каталоги, и на самом деле не имеют большого количества интерактивного разрешения конфликты.
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 и настройте профиль. Каждый раз, когда вы запускаете синхронизацию из этого профиля, вам будет предложено, что делать при столкновении / конфликте между двумя каталогами в профиле. Для каждого конфликта вы в интерактивном режиме сможете выбрать правильное действие (синхронизировать или пропустить) для каждого файла.
Вы ищете rsync
. По крайней мере, я считаю, что он поддерживает все, что вам нужно.
Я запускаю его с помощью переключателя -A
, хотя на странице руководства будет показано все, что вам нужно.
В худшем случае, или вы ничего не можете найти, вы можете сделать свой собственный.
Я написал небольшой небольшой скрипт move.py
для обработки слияния каталогов, поскольку, пока работает rsync
, rsync
выполняет копирование, а не переименование, и, таким образом, оказывается очень медленным на больших наборах данных:
В дополнение к другим ответам, предлагающим rsync
, вы также можете использовать grsync
. См. Это руководство о том, как использовать Rsync и Grsync Backups для Linux .