Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
pv (pipe viewer) 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 entnehmen.
Es muss das folgende Paket installiert [1] werden:
pv (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install pv
sudo aptitude install pv
pv wird über den gleichnamigen Befehl im Terminal [2] aufgerufen:
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.
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.
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 Ubuntu 14.10) |
Folgende Beispiele sollen die Funktionalität von pv demonstrieren.
Eine Datei kopieren (mit Fortschrittsanzeige):
pv QUELLDATEI > ZIELDATEI
Mit dd aus /dev/urandom
lesen und nach /dev/null
schreiben. Dabei werden 100 MiB als 100% definiert:
dd if=/dev/urandom bs=1M count=100 | pv -petra -s 100m | dd of=/dev/null
Die Gerätedatei /dev/zero
verwenden, um einen Datenträger mit Nullen zu überschreiben (die Option -S
ist erst ab Version 1.4.x vorhanden):
dd if=/dev/zero conv=noerror,notrunc,sync bs=10240 | pv -S > /dev/sdb
pv übergibt eine 2 GiB große Datei wichtiges_backup.img an dd, das diese auf das (nicht-existente) Gerät "festplatte" schreibt:
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:
cat datei | pv -petra | nc ubuntuusers.de 7345
Manual - Dokumentation
dd mit Statusanzeige - Blogbeitrag, beschreibt den Einsatz der pv-Alternative buffer, 01/2007
bar - weitere Alternative zu pv
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle
Diese Revision wurde am 28. Oktober 2016 17:34 von Benno-007 erstellt.