Vyhledávání na webu

Pv - Zobrazit pokrok pro [kopírovat/zálohovat/komprimovat] data v Linuxu


Při vytváření záloh a kopírování/přesouvání velkých souborů v systému Linux můžete chtít sledovat průběh probíhající operace. Mnoho terminálových nástrojů nemá funkce, které by vám umožnily zobrazit informace o průběhu, když je příkaz spuštěn v kanálu.

V tomto článku se podíváme na důležitý příkaz Linux/Unix s názvem pvPipe Viewer.

Pv je terminálový nástroj, který vám umožňuje sledovat průběh dat odesílaných kanálem. Při použití příkazu pv získáte vizuální zobrazení následujících informací:

  • Čas, který uplynul.
  • Dokončené procento zahrnuje ukazatel průběhu.
  • Zobrazuje aktuální rychlost propustnosti.
  • Celkový počet přenesených dat.
  • a ETA (odhadovaný čas).

Jak nainstalovat pv Command v Linuxu?

Příkaz pv není ve výchozím nastavení na většině distribucí Linuxu nainstalován, proto jej můžete nainstalovat podle následujících kroků.

Nainstalujte pv na Linux založený na RHEL

Nejprve musíte zapnout úložiště EPEL a poté jej nainstalovat spuštěním následujícího příkazu yum nebo dnf.

yum install pv
OR
dnf install pv          

Nainstalujte pv na Linux založený na Debianu

sudo apt-get install pv

Nainstalujte pv na jiné distribuce Linuxu

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]    

Jak mohu použít pv Command v Linuxu?

pv se většinou používá s jinými programy, které nemají možnost sledovat průběh probíhající operace. Můžete jej použít tak, že jej umístíte do potrubí mezi dva procesy, s příslušnými dostupnými možnostmi.

Standardní vstup pv bude předán na standardní výstup a průběh (výstup) bude vytištěn na standardní chybě. Má podobné chování jako příkaz cat v Linuxu.

Syntaxe příkazu pv je následující:

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

Možnosti používané s pv jsou rozděleny do tří kategorií, přepínače zobrazení, modifikátory výstupu a obecné možnosti.

Možnosti modifikátorů zobrazení Pv

Některé možnosti jsou pod modifikátory zobrazení.

  • Chcete-li zapnout panel zobrazení, použijte volbu -p.
  • Chcete-li zobrazit uplynulý čas, použijte volbu --timer.
  • Chcete-li zapnout časovač ETA, který se snaží odhadnout, jak dlouho bude trvat, než bude operace dokončena, použijte volbu --eta. Odhad je založen na předchozích přenosových rychlostech a celkové velikosti dat.
  • Chcete-li zapnout počítadlo sazeb, použijte volbu --rate.
  • Chcete-li zobrazit celkové množství dosud přenesených dat, použijte volbu --bytes.
  • Chcete-li zobrazit informace o průběhu v procentech celého čísla namísto vizuální indikace, použijte volbu -n. To může být dobré při použití pv s příkazem dialog k zobrazení průběhu v dialogovém okně.

Možnosti modifikátorů zobrazení Pv

Některé možnosti jsou pod modifikátory výstupu.

  • Chcete-li před zobrazením informací o průběhu počkat na přenesení prvního bajtu, použijte volbu --wait.
  • Chcete-li předpokládat, že celkové množství dat k přenosu je SIZE bajtů při výpočtu procenta a ETA, použijte možnost --size SIZE.
  • Chcete-li zadat sekundy mezi aktualizacemi, použijte volbu --interval SECONDS.
  • K vynucení operace použijte volbu --force. Tato možnost nutí pv zobrazovat vizuály, když standardní chyba není terminál.
  • Obecné možnosti jsou --help pro zobrazení informací o použití a –version pro zobrazení informací o verzi.

Pv příkaz s příklady v Linuxu

1. Pokud není zahrnuta žádná možnost, příkazy pv se spustí s výchozím nastavením -p, -t, -e, -r a -b.

Chcete-li například zkopírovat soubor opensuse.vdi do /tmp/opensuse.vdi, spusťte tento příkaz a sledujte ukazatel průběhu na obrazovce.

pv opensuse.vdi > /tmp/opensuse.vdi

2. Chcete-li vytvořit soubor zip ze souboru /var/log/syslog, spusťte následující příkaz.

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

3. Chcete-li spočítat počet řádků, slov a bajtů v souboru /etc/hosts při zobrazení pouze ukazatele průběhu, spusťte tento příkaz níže.

pv -p /etc/hosts | wc

4. Sledujte průběh vytváření záložního souboru pomocí nástroje tar.

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

5. V příkladu používáme příkaz dd k zápisu souboru ISO na USB flash disk:

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

6. Pomocí nástroje pv a dialog na terminálu společně vytvořte ukazatel průběhu dialogu následovně.

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

souhrn

Jedná se o dobrý nástroj založený na terminálu, který můžete použít s nástroji, které nemají možnost sledovat průběh operací, jako je kopírování/přesouvání/zálohování souborů, další možnosti naleznete v man pv .

Doufám, že vám tento článek bude užitečný a že můžete napsat komentář, pokud máte nějaké nápady, které byste mohli přidat o použití příkazu pv. A pokud se při používání objeví nějaké chyby, můžete také zanechat komentář.