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


Kada pravite sigurnosne kopije i kopirate/premeštate velike datoteke na vašem Linux sistemu, možda ćete želeti da pratite napredak tekuće operacije. Mnogi terminalni alati nemaju funkcionalnost koja bi vam omogućila pregled informacija o napretku kada se naredba izvodi u cijevi.

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

Pv je alat baziran na terminalu koji vam omogućava da pratite napredak podataka koji se šalju kroz cev. Kada koristite naredbu pv, ona vam daje vizuelni prikaz sljedećih informacija:

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

Kako instalirati pv komandu u Linuxu?

Komanda pv nije standardno instalirana na većini Linux distribucija, stoga je možete instalirati slijedeći korake u nastavku.

Instalirajte pv na Linux baziran na RHEL-u

Prvo, trebate uključiti EPEL spremište, a zatim pokrenuti sljedeću yum ili dnf komandu da biste ga instalirali.

yum install pv
OR
dnf install pv          

Instalirajte pv na Linux baziran na Debianu

sudo apt-get install pv

Instalirajte pv na drugim Linux distribucijama

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 da koristim pv komandu u Linuxu?

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

Standardni unos pv će biti proslijeđen na svoj standardni izlaz i napredak (izlaz) će biti odštampan na standardnoj grešci. Ponaša se slično 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 sa pv podijeljene su u tri kategorije, prekidači ekrana, modifikatori izlaza i opće opcije.

Opcije modifikatora Pv prikaza

Neke opcije su pod modifikatorima prikaza.

  • Da uključite traku prikaza, koristite opciju -p.
  • Za pregled proteklog vremena koristite opciju --timer.
  • Da biste uključili ETA tajmer koji pokušava pogoditi koliko će vremena trebati prije završetka operacije, koristite opciju --eta. Pretpostavka se zasniva 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 cjelobrojnom postotku umjesto vizualne indikacije, koristite opciju -n. Ovo može biti dobro kada koristite pv sa naredbom za dijalog za prikaz napretka u dijaloškom okviru.

Opcije modifikatora Pv prikaza

Neke opcije su pod modifikatorima izlaza.

  • Da sačekate dok se prvi bajt ne prenese prije nego što se prikaže informacija o napretku, koristite opciju --wait.
  • Da pretpostavite da je ukupna količina podataka za prijenos SIZE bajtova kada se računa postotak i ETA, koristite opciju --size SIZE.
  • Da biste odredili sekunde između ažuriranja, koristite opciju --interval SECONDS.
  • Koristite opciju --force da prisilite operaciju. Ova opcija prisiljava pv da prikaže vizuale kada standardna greška nije terminal.
  • Općenite opcije su --help za prikaz informacija o korištenju i –verzija za prikaz informacija o verziji.

Pv naredba s primjerima u Linuxu

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

Na primjer, da kopirate datoteku opensuse.vdi u /tmp/opensuse.vdi, pokrenite ovu naredbu i pogledajte 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. Da prebrojite broj redova, riječi i bajtova u datoteci /etc/hosts dok se prikazuje samo traka napretka, pokrenite ovu naredbu ispod.

pv -p /etc/hosts | wc

4. Pratite napredak kreiranja 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 fleš disk:

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

6. Korištenje pv i dijalog alata baziranog na terminalu zajedno za kreiranje trake napretka dijaloga kako slijedi.

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

Sažetak

Ovo je dobar alat baziran na terminalu koji možete koristiti sa alatima koji nemaju mogućnost, za praćenje napretka operacija kao što je 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 ostaviti komentar ako imate bilo kakvu ideju za korištenje pv komande. A ako dobijete bilo kakvu grešku prilikom korištenja, možete ostaviti i komentar.