Когато правите резервни копия и копирате/премествате големи файлове на вашата Linux система, може да искате да наблюдавате напредъка на текуща операция. Много терминални инструменти нямат функционалността, която да ви позволи да видите информация за напредъка, когато команда се изпълнява в канал.

В тази статия ще разгледаме важна команда за Linux/Unix, наречена pv – Преглед на тръби.
Pv е базиран на терминал инструмент, който ви позволява да наблюдавате напредъка на данните, които се изпращат по канал. При използване на pv команда, тя ви дава визуално показване на следната информация:
- Времето, което е изтекло.
- Процентът изпълнени включва лента за напредък.
- Показва текущата производителност.
- Общите прехвърлени данни.
- и ETA (приблизително време).
Съдържание
Как да инсталирате pv команда в Linux?
The pv командата не е инсталирана по подразбиране в повечето Linux дистрибуции, следователно можете да я инсталирате, като следвате стъпките по-долу.
Инсталирайте pv на базиран на RHEL Linux
Първо, трябва да включите хранилището на EPEL и след това да изпълните следната команда yum или dnf, за да го инсталирате.
# yum install pv OR # dnf install pv
Инсталирайте pv на базиран на Debian Linux
$ sudo apt-get install pv
Инсталирайте pv на други Linux дистрибуции
$ sudo emerge -a pv [On Gentoo Linux] $ sudo apk add pv [On Alpine Linux] $ sudo pacman -S pv [On Arch Linux] $ sudo zypper install pv [On OpenSUSE]
Как да използвам командата pv в Linux?
pv се използва предимно с други програми, които нямат възможност да наблюдават напредъка на текуща операция. Можете да го използвате, като го поставите в конвейер между два процеса, с наличните подходящи опции.
Стандартният вход на pv ще бъде предадено на неговия стандартен изход и напредъкът (изходът) ще бъде отпечатан на стандартна грешка. Има подобно поведение на командата cat в Linux.
Синтаксисът на pv командата е следната:
$ pv file $ pv options file $ pv file > filename.out $ pv options | command > filename.out $ comand1 | pv | command2
Опциите, използвани с pv са разделени на три категории, превключватели на дисплея, изходни модификатори и общи опции.
Опции за модификатори на Pv дисплей
Някои опции са под модификаторите на дисплея.
- За да включите лентата на дисплея, използвайте
-p
опция. - За да видите изминалото време, използвайте
--timer
опция. - За да включите таймера за ETA, който се опитва да познае колко време ще отнеме преди завършването на дадена операция, използвайте
--eta
опция. Предположението се основава на предишни скорости на трансфер и общия размер на данните. - За да включите брояч на тарифи, използвайте
--rate
опция. - За да покажете общото количество прехвърлени досега данни, използвайте
--bytes
опция. - За да покажете информация за напредъка на цял процент вместо визуална индикация, използвайте
-n
опция. Това може да е добре при използване pv с диалоговата команда за показване на напредъка в диалогов прозорец.
Опции за модификатори на Pv дисплей
Някои опции са под изходни модификатори.
- За да изчакате, докато първият байт бъде прехвърлен, преди да покажете информация за напредъка, използвайте
--wait
опция. - Да приемем, че общото количество данни за прехвърляне е РАЗМЕР байтове, когато изчислявате процент и ETA, използвайте
--size SIZE
опция. - За да зададете секунди между актуализациите, използвайте
--interval SECONDS
опция. - Използвайте
--force
опция за принудителна операция. Тази опция принуждава pv да показва визуални елементи, когато стандартната грешка не е терминал. - Общите опции са
--help
за показване на информация за употреба и – версия за показване на информация за версията.
Pv команда с примери в Linux
1. Когато не е включена опция, pv командите се изпълняват по подразбиране -p
, -t
, -e
, -r
и -b
настроики.
Например, за да копирате opensuse.vdi файл към /tmp/opensuse.vdiизпълнете тази команда и гледайте лентата за напредък в скрийнкаста.
# pv opensuse.vdi > /tmp/opensuse.vdi
2. За да направите zip файл от вашия /var/log/syslog файл, изпълнете следната команда.
# pv /var/log/syslog | zip > syslog.zip
3. За да преброите броя на редовете, думите и байтовете в /etc/hosts файл, докато показва само лентата за напредъка, изпълнете тази команда по-долу.
# pv -p /etc/hosts | wc
4. Наблюдавайте напредъка на създаването на архивен файл с помощта на помощната програма tar.
# tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)
5. В примера използваме dd команда за да запишете ISO файла на USB флаш устройството:
# dd if=debian-10.11.0-amd64-DVD-1.iso | pv | dd of=/dev/sda bs=4M
6. Използвайки pv и диалогов прозорец базиран на терминал инструмент заедно, за да създадете лента за прогрес на диалоговия прозорец, както следва.
# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70

Резюме
Това е добър инструмент, базиран на терминал, който можете да използвате с инструменти, които нямат възможност, за да наблюдавате напредъка на операции като копиране/преместване/архивиране на файлове, за повече опции проверете човек pv.
Надявам се да намерите тази статия за полезна и можете да публикувате коментар, ако имате някакви идеи да добавите относно използването на командата pv. И ако получите грешки, докато го използвате, можете също да оставите коментар.
Публикациите се превеждат автоматично с google translate