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

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

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

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

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

решение1

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

решение2

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

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

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

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

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

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

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

решение3

вы можете просто добавить опцию -v в командной строке cp или использовать scp для локального хоста

решение4

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

scp <file-from> <file-to>

В процессе копирования будет отображаться ход выполнения.

Связанный контент