Команда копирования Unix, которая имеет индикатор выполнения, но не такой тяжелый, как rsync

14

Мне нужно скопировать много файлов. Обычно я использую rsync, потому что передаю ему -aPпараметры и вижу (а) сколько файлов осталось обработать и (б) сколько копируется каждого отдельного файла.

Однако rsync также делает много вещей с контрольными суммами, чтобы убедиться, что файл был скопирован. Однако сейчас мне это не нужно. Но обычно cpне включает в себя указанное количество оставшихся файлов, что очень полезно.

Есть ли что-нибудь подобное cp, включая прогресс, сколько файлов осталось, но не такой тяжелый, как rsync?

Рори
источник

Ответы:

21

Вы можете запустить rsync с ключом -W, который отключит контрольные суммы.

Стефан Вольф
источник
6

Так это подходящий псевдоним для ваших предложений?

cp_p() {
    rsync -WavP $1 $2
}

-W -не использовать алгоритм дельта-передачи
-a режим архива
-v подробный
-P показать индикатор выполнения и сохранить частичные файлы

другую альтернативу я нашел в некоторых местах . требуется пакет pv (pipeviewer).

cp_pv() {
    pv -per $1 > $2
}

-p показать прогресс
-e показать eta
-r показать скорость
-n показать числовой вывод

/ edit Я сейчас протестировал вышеупомянутые псевдонимы и могу подтвердить, что они работают. Были некоторые опечатки, прежде чем

Виджай
источник
Кажется, это поддерживает только копирование одного файла в именованный файл, а не в каталог. Что если я хочу скопировать несколько файлов? Или каталог?
einpoklum
Ну, это просто псевдонимы, так что вы можете поэкспериментировать с реальными командами внутри, чтобы увидеть, что работает для вас. Я уверен, что rsync поддерживает каталоги и другие пути. Вы можете легко настроить псевдонимы, чтобы они работали для вашей конкретной ситуации. Делитесь, если у вас это работает. IIRC Я использовал его с каталогами раньше без проблем.
Виджай
3

Вы можете просто указать опцию -v на cp cmd или использовать scp для localhost

egorgry
источник
-v - хорошее начало, и оно весьма полезно, но я хотел бы получить больше информации о том, сколько именно файлов осталось / было скопировано / и т. д.
Рори
2
Тогда вам нужно решение Стефана Вольфа.
egorgry
1

Это излишне затратно на шифрование, но вы можете использовать scpлокально:

scp <file-from> <file-to>

Будет отображаться прогресс при копировании.

кроличий садок
источник
Atleast на OSX, scpпо умолчанию не отображает индикатор выполнения, так как он используется внутри, cpкогда задействованы локальные файлы.
Шридхар Ратнакумар
1

gcpэто хороший инструмент. Здесь у вас есть пакет PyPI , но его также можно найти в дистрибутиве (например, в debian / ubuntu apt-get install gcp сделайте эту работу).

Есть также хорошая учебная статья о gcp .

$ gcp -r Solaar / solaar2

Копирование 7,53 МиБ 100% | ############################# | 134,92 м / с Время: 00:00:00
Spinus
источник