Při vytváření záloh, zpracovává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.
Přečtěte si také :Pokročilý příkaz Kopírovat pro zobrazení ukazatele průběhu při kopírování souborů v systému Linux


V tomto článku se podíváme na důležitý příkaz Linux/Unix s názvem pv .
Doporučené čtení: Progress – Malý nástroj pro sledování průběhu (cp, mv, dd, tar atd.) příkazů
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í pv vám poskytne vizuální zobrazení následujících informací:
- Čas, který uplynul.
- Procento dokončení včetně ukazatele průběhu.
- Zobrazuje aktuální rychlost propustnosti.
- Celkový počet přenesených dat.
- a odhadovaný čas příjezdu (ETA).
Jak nainstalovat pv Command v Linuxu?
Tento příkaz není ve výchozím nastavení nainstalován na většině distribucí Linuxu, proto jej můžete nainstalovat podle následujících kroků.
Na Fedoře, CentOS a RHEL
Nejprve musíte zapnout úložiště EPEL a poté spustit následující příkaz.
# yum install pv # dnf install pv [On Fedora 22+ versions]
Ukázkový výstup
Dependencies Resolved ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: pv x86_64 1.4.6-1.el7 epel 47 k Transaction Summary ================================================================================= Install 1 Package Total download size: 47 k Installed size: 93 k Is this ok [y/d/N]: y Downloading packages: pv-1.4.6-1.el7.x86_64.rpm | 47 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : pv-1.4.6-1.el7.x86_64 1/1 Verifying : pv-1.4.6-1.el7.x86_64 1/1 Installed: pv.x86_64 0:1.4.6-1.el7 Complete!
V systémech Debian, Ubuntu a Linux Mint
# apt-get install pv
Ukázkový výstup
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: pv 0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded. Need to get 33.7 kB of archives. After this operation, 160 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe pv amd64 1.2.0-1 [33.7 kB] Fetched 33.7 kB in 0s (48.9 kB/s) Selecting previously unselected package pv. (Reading database ... 216340 files and directories currently installed.) Preparing to unpack .../archives/pv_1.2.0-1_amd64.deb ... Unpacking pv (1.2.0-1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up pv (1.2.0-1) ...
Na Gentoo Linux
K instalaci pv použijte správce balíčků emerge příkaz, jak je znázorněno.
# emerge --ask sys-apps/pv
V systému FreeBSD Linux
Port můžete použít k instalaci následovně:
# cd /usr/ports/sysutils/pv/ # make install clean
NEBO přidejte binární balíček následovně:
# pkg_add -r pv
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 umístěním 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ě. Chová se podobně 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 displeje , modifikátory výstupu a obecné možnosti .
Některé možnosti pod modifikátory zobrazení.
- Chcete-li zapnout panel zobrazení, použijte -p možnost.
- Chcete-li zobrazit uplynulý čas, použijte –časovač možnost.
- Chcete-li zapnout časovač ETA, který se snaží odhadnout, jak dlouho bude trvat, než bude operace dokončena, použijte –eta volba. Odhad je založen na předchozích přenosových rychlostech a celkové velikosti dat.
- Chcete-li zapnout počítadlo sazeb, použijte –sazbu možnost.
- Chcete-li zobrazit celkové množství dosud přenesených dat, použijte –bajtů možnost.
- Chcete-li zobrazit informace o průběhu v procentech celého čísla namísto vizuální indikace, použijte -n volba. To může být dobré při použití pv pomocí příkazu dialog pro zobrazení průběhu v dialogovém okně.
Některé možnosti pod modifikátory výstupu.
- Chcete-li před zobrazením informací o průběhu počkat, dokud nebude přenesen první bajt, použijte tlačítko – počkat možnost.
- Předpokládáme, že celkové množství přenesených dat je SIZE bajtů při výpočtu procenta a ETA použijte –velikost SIZE možnost.
- Chcete-li určit sekundy mezi aktualizacemi, použijte interval SECONDS možnost.
- Použijte –force možnost vynutit operaci. Tato možnost nutí pv zobrazovat vizuály, když standardní chyba není terminál.
- Obecné možnosti jsou –nápověda k zobrazení informací o použití a –verze k zobrazení informací o verzi.
Použijte příkaz pv s příklady
1. Pokud není zahrnuta žádná možnost, pv příkazy se spouštějí s výchozím -p , -t , -e , -r a -b možnosti.
Chcete-li například zkopírovat opensuse.vdi soubor 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 počítat počet řádků, slov a bajtů v /etc/hosts soubor při zobrazení pouze indikátoru 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. Pomocí pv a dialogové okno terminálového nástroje společně k vytvoření dialogového ukazatele průběhu následovně.
# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70


Shrnutí
Jedná se o dobrý terminálový nástroj, který můžete použít s nástroji, které nemají schopnost monitorovat 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 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ář.