Představte si tento scénář. Pokoušíte se zkopírovat velký soubor z jednoho adresáře do druhého nebo z jednoho systému do druhého pomocí příkazového řádku. Jak pravděpodobně víte, neuvidíte žádný náznak úlohy kopírování, pokud používáte příkaz 'cp'. Uvidíte pouze prázdnou obrazovku. Dokud nebude proces kopírování dokončen, nemůžete si být jisti, zda proces kopírování probíhá nebo ne. V takových případech můžete použít pv příkaz pro sledování průběhu dat. Pv, zkratka p ipe v iewer, příkaz umožňuje uživateli vidět průběh dat prostřednictvím kanálu poskytnutím následujících informací:
- celkový uplynulý čas,
- procento dokončení (s ukazatelem průběhu),
- aktuální propustnost,
- celkový počet přenesených dat,
- a odhadovaný čas příjezdu.
V tomto krátkém tutoriálu uvidíme, jak a kde použít příkaz pv ke sledování průběhu dat v systémech podobných Unixu.
Stáhnout - Zdarma Cheat Sheet:"Linux Command Line Cheat Sheet"
Nainstalujte pv v Linuxu
Většina moderních distribucí Linuxu je dodávána s předinstalovaným příkazem pv. Pro případ, že ještě není nainstalován, můžete jej nainstalovat spuštěním následujícího příkazu z vašeho terminálu v závislosti na distribuci Linuxu, kterou používáte.
Na Arch Linux, Antergos, Manjaro Linux:
$ sudo pacman -S pv
Na RHEL, CentOS, Fedora:
$ sudo yum install pv
Nebo,
$ sudo dnf install pv
V systémech Debian, Linux Mint, Ubuntu:
$ sudo apt-get install pv
Na SUSE otevřeteSUSE:
$ sudo zypper in pv
Nyní jsme nainstalovali pv. Dovolte mi ukázat vám několik příkladů.
Sledování průběhu dat v potrubí pomocí příkazu 'pv'
Podívejte se na výstup následujícího příkazu:
$ cp CentOS7.iso Downloads/

příkaz cp
Tento příkaz zkopíruje obraz ISO CentOS 7 do složky Stahování adresář v mém místním systému. Jak vidíte na výše uvedeném výstupu, nezobrazuje žádný ukazatel průběhu. Uvidíte pouze blikající kurzor. Nevíme, jak dlouho bude proces kopírování trvat. To může být někdy nepříjemné, protože nevidíme žádné známky toho, kdy bude tento příkaz dokončen. Zde přichází na pomoc příkaz pv. Příkaz pv vám ukáže průběh příkazů Linuxu a ukáže vám, kdy bude příkaz Linux dokončen. Takže můžete opustit terminál a udělat nějaké jiné úkoly a vrátit se, až bude úkol hotový.
Nyní udělejme totéž s prohlížečem potrubí (pv) a podívejme se, jaký je výstup.
$ pv CentOS7.iso > Downloads/centos.iso

Monitorujte průběh dat prostřednictvím potrubí pomocí příkazu 'pv'
Vidíš, chápeš ten rozdíl? Jak jsem řekl, příkaz pv zobrazuje celkový uplynulý čas, procento dokončení (s ukazatelem průběhu), aktuální rychlost propustnosti, celkový počet přenesených dat a ETA.
Dovolte mi uvést několik dalších příkladů.
Rychlost přenosu dat můžeme omezit pomocí -L přepněte podle níže uvedeného příkladu.
$ pv -L 2m CentOS7.iso > Downloads/centos.iso
Výše uvedený příkaz omezí rychlost přenosu dat na 2 MB za sekundu . Podívejte se na následující výstup.

Omezte rychlost přenosu dat pomocí příkazu pv
Pokud máte více souborů nebo adresářů, můžete použít pv s příkazem tar jak je uvedeno níže:
$ tar c Notebooks/ | pv | tar x -C Documents/
Výše uvedený příkaz zkomprimuje adresář Notebooks a zkopíruje jej do adresáře Documents a nakonec extrahuje obsah.
Zde je další příklad. Tento příkaz vytvoří archiv souboru CentOS7.iso a uložte jej do aktuálního pracovního adresáře.
$ pv CentOS7.iso | zip > centos.zip

vytvořte archivní soubor pomocí příkazu pv
Můžete také použít pv s příkazem dd pro kopírování souborů mezi adresáři, jak je uvedeno níže. Tento příkaz zkopíruje soubor CentOS7.iso z aktuálního adresáře do adresáře Downloads.
$ dd if=CentOS7.iso | pv | dd of=Downloads/centos7.iso

použijte příkaz pv s příkazem dd ke kopírování souborů mezi adresáři
Dalším užitečným příkazem pro zobrazení průběhu dat je dialog . Můžeme jej použít spolu s příkazem pv k zobrazení průběhu dat, jak je uvedeno níže.
$ tar -czf - Official/ | (pv -n > mybackup.tgz) 2>&1 | dialog --gauge "Compressing files, please wait..." 10 70 0
Ukázkový výstup:

použijte příkaz dialog s příkazem pv k zobrazení průběhu dat
Další podrobnosti naleznete na manuálových stránkách.
$ man pv
Podívejte se také na naši předchozí příručku k rychlému přenosu velkých souborů mezi dvěma vzdálenými systémy přes síť pomocí netcat , tar , a pv příkazy v operačních systémech Linux a Unix.
- Jak rychle přenášet velké soubory přes síť v Linuxu a Unixu
Aktualizace:
Ukazatel průběhu pro příkazy "cp" a "mv" lze snadno přidat pomocí opravy s názvem "Advanced Copy" . Podrobnosti naleznete na následujícím odkazu.
- Pokročilé kopírování – přidání ukazatele průběhu do příkazů cp a mv v systému Linux