Команда копіювання Unix, яка має панель прогресу, але не настільки важка, як rsync


14

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

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

Чи є щось подібне, cpщо включає хід кількості файлів, що залишилися, але це не так важко, як rsync?

Відповіді:


21

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


6

Тож це підходящий псевдонім для ваших пропозицій?

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

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

Ще одну альтернативу я знайшов у деяких місцях . потрібен пакет pv (pipeviewer).

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

-p показати прогрес
-e показати ета
-r показник швидкості
-n показати числовий вихід

/ редагувати Я зараз перевірив вищезазначені псевдоніми і можу підтвердити їхню роботу. Раніше були певні помилки


Здається, це підтримує лише копіювання одного файлу в іменований файл, а не каталог. Що робити, якщо я хочу скопіювати кілька файлів? Або каталог?
einpoklum

Ну, це лише псевдоніми, тож ви можете експериментувати з фактичними неочищеними командами всередині, щоб побачити, що працює для вас. Я впевнений, що rsync підтримує каталоги та інші позначення шляху. Ви можете легко налаштувати псевдоніми, щоб він працював для вашої конкретної ситуації. Діліться, якщо ви працюєте. IIRC Я раніше без проблем користувався ним у каталогах.
Віджай

3

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


-v - хороший початок, і це дуже корисно, але я хотів би отримати більше інформації про те, скільки саме файлів залишилось / скопійовано / тощо
Rory

2
Тоді ви хочете рішення Стефана Вольфа.
egorgry


1

Це надмірно з шифруванням накладних витрат, але ви можете використовувати scpлокально:

scp <file-from> <file-to>

Він відображатиме прогрес під час копіювання.


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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.