Pv - Prikaži napredak za [Copy/Backup/Compress] podatke u Linuxu


Prilikom izrade sigurnosnih kopija i kopiranja/premještanja velikih datoteka na vašem Linux sustavu, možda ćete htjeti pratiti napredak operacije koja je u tijeku. Mnogi terminalski alati nemaju funkcionalnost koja bi vam omogućila pregled informacija o napretku kada se naredba izvodi u cijevi.

U ovom ćemo članku pogledati važnu Linux/Unix naredbu pod nazivom pvPipe Viewer.

Pv je terminalski alat koji vam omogućuje praćenje napretka podataka koji se šalju kroz kanal. Kada koristite naredbu pv, daje vam vizualni prikaz sljedećih informacija:

  • Vrijeme koje je proteklo.
  • Postotak izvršenja uključuje traku napretka.
  • Prikazuje trenutnu brzinu protoka.
  • Ukupni preneseni podaci.
  • i ETA (procijenjeno vrijeme).

Kako instalirati pv naredbu u Linuxu?

Naredba pv nije instalirana prema zadanim postavkama na većini distribucija Linuxa, stoga je možete instalirati slijedeći korake u nastavku.

Instalirajte pv na Linux temeljen na RHEL-u

Prvo morate uključiti EPEL repozitorij, a zatim pokrenuti sljedeću naredbu yum ili dnf da biste ga instalirali.

yum install pv
OR
dnf install pv          

Instalirajte pv na Linux temeljen na Debianu

sudo apt-get install pv

Instalirajte pv na druge distribucije Linuxa

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]    

Kako mogu koristiti naredbu pv u Linuxu?

pv se uglavnom koristi s drugim programima koji nemaju mogućnost praćenja napretka operacije koja je u tijeku. Možete ga koristiti tako da ga postavite u cjevovod između dva procesa, s odgovarajućim dostupnim opcijama.

Standardni unos pv bit će proslijeđen na njegov standardni izlaz, a napredak (izlaz) bit će ispisan na standardnoj pogrešci. Ima slično ponašanje kao naredba cat u Linuxu.

Sintaksa naredbe pv je sljedeća:

pv file
pv options file
pv file > filename.out
pv options | command > filename.out
comand1 | pv | command2 

Opcije koje se koriste s pv podijeljene su u tri kategorije, prekidači zaslona, modifikatori izlaza i opće opcije.

Opcije modifikatora Pv zaslona

Neke opcije su pod modifikatorima prikaza.

  • Za uključivanje trake prikaza koristite opciju -p.
  • Za pregled proteklog vremena koristite opciju --timer.
  • Za uključivanje ETA timera koji pokušava pogoditi koliko će proći do završetka operacije, koristite opciju --eta. Pretpostavka se temelji na prethodnim brzinama prijenosa i ukupnoj veličini podataka.
  • Za uključivanje brojača stopa koristite opciju --rate.
  • Za prikaz ukupne količine do sada prenesenih podataka koristite opciju --bytes.
  • Za prikaz informacija o napretku u cijelom postotku umjesto vizualne indikacije, koristite opciju -n. Ovo može biti dobro kada koristite pv s dijaloškom naredbom za prikaz napretka u dijaloškom okviru.

Opcije modifikatora Pv zaslona

Neke su opcije pod modifikatorima izlaza.

  • Za čekanje dok se prvi bajt ne prenese prije prikazivanja informacija o napretku, koristite opciju --wait.
  • Za pretpostavku da je ukupna količina podataka za prijenos SIZE bajtova pri izračunavanju postotka i ETA, koristite opciju --size SIZE.
  • Za navođenje sekundi između ažuriranja koristite opciju --interval SECONDS.
  • Koristite opciju --force za prisilnu operaciju. Ova opcija prisiljava pv da prikazuje vizualne elemente kada standardna pogreška nije terminal.
  • Opće opcije su --help za prikaz informacija o korištenju i –version za prikaz informacija o verziji.

Pv naredba s primjerima u Linuxu

1. Kada opcija nije uključena, naredbe pv izvode se sa zadanim -p, -t, -e, -r i -b opcije.

Na primjer, da kopirate datoteku opensuse.vdi u /tmp/opensuse.vdi, pokrenite ovu naredbu i gledajte traku napretka u screencastu.

pv opensuse.vdi > /tmp/opensuse.vdi

2. Da biste napravili zip datoteku iz /var/log/syslog datoteke, pokrenite sljedeću naredbu.

pv /var/log/syslog | zip > syslog.zip

3. Za brojanje redaka, riječi i bajtova u datoteci /etc/hosts dok prikazujete samo traku napretka, pokrenite ovu naredbu ispod.

pv -p /etc/hosts | wc

4. Pratite napredak stvaranja datoteke sigurnosne kopije pomoću uslužnog programa tar.

tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)

5. U primjeru koristimo dd naredbu za pisanje ISO datoteke na USB flash pogon:

dd if=debian-10.11.0-amd64-DVD-1.iso | pv | dd of=/dev/sda bs=4M

6. Zajednička upotreba pv i dialog terminalskog alata za stvaranje dijaloške trake napretka kako slijedi.

tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70

Sažetak

Ovo je dobar alat temeljen na terminalu koji možete koristiti s alatima koji nemaju mogućnost, za praćenje napretka operacija kao što su kopiranje/premještanje/sigurnosno kopiranje datoteka, za više opcija provjerite man pv .

Nadam se da će vam ovaj članak biti od pomoći i da možete objaviti komentar ako imate bilo kakvih ideja o korištenju naredbe pv. A ako tijekom korištenja dobijete bilo kakvu pogrešku, također možete ostaviti komentar.