Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

scp <file-from> <file-to>

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

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

Также есть приятный учебная статья о gcp.

$ gcp -r Solaar/ solaar2

Copying 7.53 MiB 100% |#############################| 134.92 M/s Time: 00:00:00