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 pv – Pipe 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ář.