Вы когда-нибудь хотели увидеть скорость и прогресс при копировании файлов с помощью командной строки?
Для копирования файлов, папок и других данных вы, вероятно, использовали бы команду ditto или «cp», если вы знакомы с командной строкой операционных систем Linux или Unix.
Хотя команды ditto и «cp» полезны, иногда использование простой команды «cp» может занять много времени и утомить.
Параметр «-v» (подробный) в команде «cp» может предоставить вам дополнительную информацию о процессе копирования.
Однако недостатком является то, что эта команда не включает индикатор хода процесса копирования.
В Linux есть другие альтернативные команды, которые могут копировать файлы и папки, показывая ход и скорость процесса копирования. Ниже приведены альтернативные команды:
1. Команда rsync
«Rsync» – одна из лучших команд, которая помогает копировать файлы через терминал.
Объем данных, копируемых из удаленного места назначения, уменьшается при использовании этой утилиты.
Он также используется для создания резервных копий данных, копирования данных между компьютерами и зеркалирования.
Команда «rsync» имеет следующий синтаксис:
$ rsync options Source Destination
Использование опции «-av» с «rsync» – самая простая форма этой команды.
Как показано ниже, данная команда скопирует все файлы, находящиеся в «testfolder», в целевую папку с именем «Downloads»:
$ rsync -av testfolder/ Downloads/
$ rsync -av --progress testfolder/ Downloads/
Еще один флаг, который можно включить в команду «rsync», – «–stats».
Параметр –stats предоставляет более подробную информацию о передаче файлов, такую как количество созданных, удаленных или регулярно передаваемых файлов, общее количество отправленных байтов и общее количество полученных байтов. Запишите приведенную ниже команду, чтобы получить всю информацию, относящуюся к процессу копирования файла.
$ rsync -av --progress --stats testfolder/ Downloads/
2. Команда pv
Вы можете использовать команду «pv» для копирования одного файла, поскольку она предоставляет статистику, относящуюся к прогрессу и скорости.
В следующем случае «pv» выведет «входной файл» в «stdout», который затем перенаправляется в «выходной файл» с помощью оператора «>».
Когда вы это сделаете, он одновременно выведет всю информацию о скорости и прогрессе на терминал.
Файл, скопированный таким образом, будет иметь такие же права, как если бы вы его создали.
$ pv inputfile > outputfile
3. Команда tar
Если вы хотите скопировать несколько файлов или каталогов, то лучше использовать команду tar в терминале.
Укажите исходную и целевую папки в команде «tar» с параметром «-C» в сочетании с «pv», чтобы просмотреть скорость и ход процесса.
$ tar c testfolder | pv | tar x -C Downloads
4. Команда dd
В терминале команда «dd» используется для копирования или конвертации файлов.
Это свободно доступный инструмент командной строки с открытым исходным кодом.
В приведенной ниже команде мы покажем вам, как использовать команду «dd» для получения статистики копирования файла:
Определите исходную папку в «if» и целевую папку в «of» и установите «progress» в качестве параметра статуса.
$ sudo dd if=inputfile of=/Downloads status=progress
Заключение
В Linux существует несколько альтернатив команде cp для отображения скорости и прогресса процесса копирования файлов или папок.
В этой статье обсуждались команды rsync, pv, tar и dd, которые копируют статистику данных при передаче больших файлов.