Pv - Vis fremgang for [Kopier/Sikkerhetskopier/Komprimer] data i Linux


Når du lager sikkerhetskopier og kopierer/flytter store filer på Linux-systemet ditt, kan det være lurt å overvåke fremdriften til en pågående operasjon. Mange terminalverktøy har ikke funksjonaliteten til å tillate deg å se fremdriftsinformasjon når en kommando kjører i et rør.

I denne artikkelen skal vi se på en viktig Linux/Unix-kommando kalt pvPipe Viewer.

Pv er et terminalbasert verktøy som lar deg overvåke fremdriften til data som sendes gjennom et rør. Når du bruker kommandoen pv, gir den deg en visuell visning av følgende informasjon:

  • Tiden som har gått.
  • Prosentandelen fullført inkluderer en fremdriftslinje.
  • Viser gjeldende gjennomstrømningshastighet.
  • Totalt overførte data.
  • og ETA (estimert tid).

Hvordan installere pv Command i Linux?

Kommandoen pv er ikke installert som standard på de fleste Linux-distribusjoner, derfor kan du installere den ved å følge trinnene nedenfor.

Installer pv på RHEL-basert Linux

Først må du slå på EPEL-depotet og deretter kjøre følgende yum- eller dnf-kommando for å installere det.

yum install pv
OR
dnf install pv          

Installer pv på Debian-basert Linux

sudo apt-get install pv

Installer pv på andre Linux-distribusjoner

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]    

Hvordan bruker jeg pv Command i Linux?

pv brukes mest med andre programmer som mangler evnen til å overvåke fremdriften til en pågående operasjon. Du kan bruke den ved å plassere den i en pipeline mellom to prosesser, med passende alternativer tilgjengelig.

Standardinngangen til pv vil bli sendt videre til standardutgangen og fremdriften (utdata) vil bli skrevet ut på standardfeil. Den har en lignende oppførsel som cat-kommandoen i Linux.

Syntaksen til pv-kommandoen er som følger:

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

Alternativene som brukes med pv er delt inn i tre kategorier, visningsbrytere, utgangsmodifikatorer og generelle alternativer.

Alternativer for Pv-skjermmodifikatorer

Noen alternativer er under skjermmodifikatorer.

  • For å slå på skjermlinjen, bruk -p-alternativet.
  • For å se medgått tid, bruk --timer-alternativet.
  • For å slå på ETA-timeren som prøver å gjette hvor lang tid det vil ta før en operasjon er fullført, bruk --eta-alternativet. Gjetningen er basert på tidligere overføringshastigheter og den totale datastørrelsen.
  • For å slå på en rateteller, bruk --rate-alternativet.
  • For å vise den totale mengden data som er overført så langt, bruk alternativet --bytes.
  • For å vise fremdriftsinformasjon med heltallsprosent i stedet for visuell indikasjon, bruk -n-alternativet. Dette kan være bra når du bruker pv med dialogkommandoen for å vise fremdrift i en dialogboks.

Alternativer for Pv-skjermmodifikatorer

Noen alternativer er under utgangsmodifikatorer.

  • For å vente til den første byten er overført før du viser fremdriftsinformasjon, bruk --wait-alternativet.
  • For å anta at den totale mengden data som skal overføres er SIZE byte ved beregning av prosentandel og ETA, bruk alternativet --size SIZE.
  • For å spesifisere sekunder mellom oppdateringer, bruk --intervall SECONDS-alternativet.
  • Bruk alternativet --force for å fremtvinge en operasjon. Dette alternativet tvinger pv til å vise bilder når standardfeil ikke er en terminal.
  • De generelle alternativene er --help for å vise bruksinformasjon og –versjon for å vise versjonsinformasjon.

Pv-kommando med eksempler i Linux

1. Når ingen alternativer er inkludert, kjøres pv-kommandoer med standard -p, -t, >-e, -r og -b alternativer.

For for eksempel å kopiere opensuse.vdi-filen til /tmp/opensuse.vdi, kjør denne kommandoen og se fremdriftslinjen i skjermbildet.

pv opensuse.vdi > /tmp/opensuse.vdi

2. For å lage en zip-fil fra /var/log/syslog-filen, kjør følgende kommando.

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

3. For å telle antall linjer, ord og byte i /etc/hosts-filen mens du bare viser fremdriftslinjen, kjør denne kommandoen nedenfor.

pv -p /etc/hosts | wc

4. Overvåk fremdriften for å lage en sikkerhetskopifil ved hjelp av tar-verktøyet.

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

5. I eksemplet bruker vi dd-kommandoen for å skrive ISO-filen til USB-flashstasjonen:

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

6. Bruke pv og dialog terminalbasert verktøy sammen for å lage en fremdriftslinje for dialogboks som følger.

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

Sammendrag

Dette er et godt terminalbasert verktøy som du kan bruke med verktøy som ikke har muligheten, for å overvåke fremdriften av operasjoner som å håndtere/flytte/sikkerhetskopiere filer, for flere alternativer sjekk man pv .

Jeg håper du finner denne artikkelen nyttig, og du kan legge inn en kommentar hvis du har noen ideer å legge til om bruk av pv-kommandoen. Og hvis du får noen feil mens du bruker den, kan du like gjerne legge igjen en kommentar.