[[Vorlage(Getestet, bionic, focal)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [http://www.ivarch.com/programs/pv pv] {en} ('''p'''ipe '''v'''iewer) ermöglicht es, den Fortschritt einer Aktion oder Aufgabe durch eine sog. "Pipe" zu überwachen. Details zu dieser Methode, die Ausgabe des einen Programms als Eingabe eines anderen Programms zu verwenden, sind dem Artikel [:Shell/Umleitungen#Der-Pipe-Operator:] entnehmen. = Installation = Es muss das folgende Paket installiert [1] werden: {{{#!vorlage Paketinstallation pv, universe }}} = Aufruf = pv wird über den gleichnamigen Befehl im Terminal [2] aufgerufen: {{{#!vorlage Befehl pv [OPTIONEN] }}} Beispielausgabe: {{{ 24.2GB 0:44:21 [4.45MB/s] [=============> ] 40% ETA 1:05:38 }}} ETA zeigt dabei die verbleibende Zeit an, bis die Operation (bei aktueller Geschwindigkeit) voraussichtlich fertig sein wird. = Optionen = Die folgende Liste ist unvollständig und listet nur ein paar aber häufig verwendete Optionen auf. Eine vollständige Liste der Parameter kann über die [:Manpage:] angesehen werden. {{{#!vorlage Tabelle Anzeigeoptionen +++ Parameter Funktion +++ `-p`, `--progress` Zeigt einen Fortschrittsbalken an +++ `-t`, `--timer` Zeigt die vergangene Zeit an +++ `-e`, `--ETA` Geschätzte verbleibende Zeit +++ `-r`, `--rate` Durchsatzrate anzeigen +++ `-a`, `--average` Durchschnittliche Rateanzeige +++ `-n`, `--numeric` Zeigt numerische Werte anstelle des Fortschrittsbalken an +++ `-W`, `--wait` Wartezeit bevor pv Statistiken anzeigt +++ `-i SEKUNDEN`, `--interval SEKUNDEN` Aktualisierungsintervall +++ Transfermanipulationsoptionen +++ Parameter Funktion +++ `-L RATE`, `--rate-limit RATE` Durchsatz festlegen +++ `-B ZAHL`, `--buffer-size ZAHL` Puffergröße in Byte definieren +++ `-s ZAHL`, `--size ZAHL` Größe in Bytes für Fortschritts- bzw. ETA-Berechnung +++ `-S`, `--stop-at-size` Stoppt Schreibvorgang bei Erreichen des Limits, z.B. der Partitionsgröße (erst ab [:Utopic:Ubuntu 14.10]) }}} = Beispiele = Folgende Beispiele sollen die Funktionalität von pv demonstrieren. * Eine Datei kopieren (mit Fortschrittsanzeige): {{{#!vorlage Befehl pv QUELLDATEI > ZIELDATEI }}} * Mit [:dd:] aus `/dev/urandom` lesen und nach `/dev/null` schreiben. Dabei werden 1000 MiB als 100% definiert: {{{#!vorlage Befehl dd if=/dev/urandom bs=1M count=1000 | pv -petra -s 1000m > /dev/null }}} * Die Gerätedatei `/dev/zero` verwenden, um einen Datenträger mit Nullen zu überschreiben: {{{#!vorlage Befehl pv < /dev/zero > /dev/sdx }}} * pv übergibt eine 2 GiB große Datei '''wichtiges_backup.img''' an [:dd:], das diese auf das (nicht-existente) Gerät "festplatte" schreibt: {{{#!vorlage Befehl dd if=/media/externe_festplatte/wichtige_backup.img | pv -s 2g | dd of=/dev/festplatte }}} * Öffne eine Datei mit [:cat:] und leite sie durch pv, wobei umfassende Statistiken erstellt werden. Von dort wird an [:netcat:] (nc) übergeben, dass die Datei an ein System (Host) auf Port `7345` sendet: {{{#!vorlage Befehl cat datei | pv -petra | nc ubuntuusers.de 7345 }}} = Links = * [http://www.ivarch.com/programs/pv Projektseite] {en} * [http://www.ivarch.com/programs/quickref/pv.shtml Manual] {en} - Dokumentation * [http://o-o-s.de/dd-mit-statusanzeige/79 dd mit Statusanzeige] {de} - Blogbeitrag, beschreibt den Einsatz der pv-Alternative [packages:buffer:], 01/2007 * [packages:bar:] - weitere Alternative zu pv * [:Shell/Befehlsübersicht:] {Übersicht} Übersicht über verschiedene Shell-Befehle #tag: System, Shell