pv-Befehl in Linux mit Beispielen
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:
- Verstrichene Zeit
- Abgeschlossener Fortschritt (Prozentbalken)
- Aktuelle Datenübertragungsgeschwindigkeit (auch als Durchsatzrate bezeichnet)
- Daten übertragen
- 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)