pv ist ein Terminal-basiertes (Befehlszeilen-basiertes) Tool in Linux, das uns die Überwachung von Daten ermöglicht , die durch die Pipe gesendet werden. Die vollständige Form des Befehls pv ist Pipe Viewer . pv hilft dem Benutzer, indem es ihm Folgendes visuell anzeigt:

  1. Verstrichene Zeit
  2. Abgeschlossener Fortschritt (Prozentbalken)
  3. Aktuelle Datenübertragungsgeschwindigkeit (auch als Durchsatzrate bezeichnet)
  4. Daten übertragen
  5. ETA (Geschätzte Zeit) (Restzeit)

Befehl pv installieren

1. Debian-basierte Distributionen:

$ apt-get install pv

2. RedHat-basierte Distributionen

$ yum install pv

Wie verwende ich den pv-Befehl?

pv wird verwendet, um die Möglichkeit zu bieten, den Fortschritt einer bestimmten Anwendung zu überwachen, der die erwähnte Funktionalität fehlt. Es kann verwendet werden, indem ein Pipe-Operator ( | ) zwischen zwei Prozesse gesetzt wird.

Syntax des pv-Befehls:

pv fileName
pv OPTIONS fileName
pv fileName > outputFileName
pv OPTIONS | command > outputFileName
command1 | pv | command2

Die Standardeingabe des pv-Befehls wird an die Standardausgabe übergeben und das Ergebnis wird dann an die Standardfehlerausgabe ausgegeben.

Optionen für den pv-Befehl

1. Allgemeine Optionen

  • -help : Zeigt die Nutzungsinformationen an.
  • –version : Zeigt die Versionsinformationen an.

2. Modifikatoren anzeigen

  • –progress / -p : Zeigt den Fortschrittsbalken an.
  • –timer / -t : Zeigt die verstrichene Zeit an.
  • –eta / -e : Zeigt die geschätzte Zeit für den Vorgang an. Die Schätzung der Zeit basiert auf der vorherigen Datenübertragungsrate und der Größe der zu übertragenden Daten.
  • –rate / -r : Schaltet den Ratenzähler für die Operation ein.
  • –bytes / -b : Zeigt die Gesamtmenge der bisher übertragenen Daten an.
  • –numerisch / -n : Zeigt anstelle der visuellen Darstellung einen ganzzahligen Prozentsatz an.
  • –quiet / -q : Keine Ausgabe

3. Ausgabemodifikatoren

  • –wait / -W : Um auf die Übertragung des ersten Bytes zu warten, bevor der Fortschritt angezeigt wird.
  • –interval SEKUNDEN / -i SEKUNDEN : Gibt das Zeitintervall zwischen Aktualisierungen an.
  • –force / -F : Erzwingt eine Operation, dh zwingt pv, Visuals anzuzeigen, selbst wenn Standard Error kein Terminal ist.
  • –size SIZE / -s : Angenommen, die zu übertragenden Gesamtdaten sind SIZE Bytes, um den Berechnungsprozentsatz oder die voraussichtliche Ankunftszeit zu berechnen.
  • –line-mode / -L : Anstatt die Größe zu zählen, bewegt sich der Fortschrittsbalken, wenn eine neue Zeile gefunden wird.
  • –name NAME / -n NAME : Den Ausgabeinformationen den Namen voranstellen.
  • –cursor / -c : Verwenden Sie die Escape-Sequenz zur Cursorpositionierung anstelle von Wagenrückläufen.

4. Datenübertragungsmodifikator

  • –rate-limit RATE / -L RATE : Begrenzt die Übertragung auf maximal RATE Byte pro Sekunde.
  • –buffer-size BYTES / -B BYTES : Verwenden Sie die Übertragungspuffergröße von BYTE Bytes.
  • –remote PID / -R PID : Wenn PID eine Instanz von pv ist, wird diese Instanz zum Handeln veranlasst, indem ihr stattdessen die Befehlszeile der Instanz gegeben wurde.

Wenn keine Option ausgewählt ist , werden die Optionen -p, -t, -e, -r, -b standardmäßig ausgewählt.

Beispiele

1. Erstellen eines Fortschrittsbalkens mit dem Kopierbefehl

$ pv history.log > $HOME/Documents/history.log

2. Reißverschluss mit dem Fortschrittsbalken erstellen

$ pv history.log | zip>$HOME/Documents/history.zip

3. Zählen Sie die Anzahl der Zeilen, Wörter, Bytes

$ pv -p history.log | wc

4. Überwachen Sie den tar-Fortschritt

$ tar -czf - ./Documents/ | (pv -p --timer --rate --bytes > backup.tgz)