Website-Suche

Pv – Fortschritt für [Kopieren/Sichern/Komprimieren] Daten unter Linux anzeigen


Wenn Sie Backups erstellen und große Dateien auf Ihrem Linux-System kopieren/verschieben, möchten Sie möglicherweise den Fortschritt eines laufenden Vorgangs überwachen. Viele Terminal-Tools verfügen nicht über die Funktionalität, mit der Sie Fortschrittsinformationen anzeigen können, wenn ein Befehl in einer Pipe ausgeführt wird.

In diesem Artikel werden wir uns einen wichtigen Linux/Unix-Befehl namens pvPipe Viewer ansehen.

Pv ist ein terminalbasiertes Tool, mit dem Sie den Fortschritt von Daten überwachen können, die über eine Pipe gesendet werden. Wenn Sie den Befehl pv verwenden, erhalten Sie eine visuelle Anzeige der folgenden Informationen:

  • Die verstrichene Zeit.
  • Der Prozentsatz der abgeschlossenen Arbeiten wird durch einen Fortschrittsbalken angezeigt.
  • Zeigt die aktuelle Durchsatzrate an.
  • Die gesamten übertragenen Daten.
  • und die ETA (geschätzte Zeit).

Wie installiere ich pv Command unter Linux?

Der Befehl pv ist auf den meisten Linux-Distributionen nicht standardmäßig installiert. Sie können ihn daher installieren, indem Sie die folgenden Schritte ausführen.

Installieren Sie pv unter RHEL-basiertem Linux

Zuerst müssen Sie das EPEL-Repository aktivieren und dann den folgenden yum- oder dnf-Befehl ausführen, um es zu installieren.

yum install pv
OR
dnf install pv          

Installieren Sie pv unter Debian-basiertem Linux

sudo apt-get install pv

Installieren Sie pv auf anderen Linux-Distributionen

sudo emerge -a pv        [On Gentoo Linux]
sudo apk add pv          [On Alpine Linux]
sudo pacman -S pv        [On Arch Linux]
sudo zypper install pv   [On OpenSUSE]    

Wie verwende ich den pv-Befehl unter Linux?

pv wird meist mit anderen Programmen verwendet, denen die Fähigkeit fehlt, den Fortschritt eines laufenden Vorgangs zu überwachen. Sie können es verwenden, indem Sie es mit den entsprechenden verfügbaren Optionen in einer Pipeline zwischen zwei Prozessen platzieren.

Die Standardeingabe von pv wird an die Standardausgabe weitergeleitet und der Fortschritt (Ausgabe) wird als Standardfehler ausgegeben. Es verhält sich ähnlich wie der Befehl cat unter Linux.

Die Syntax des Befehls pv lautet wie folgt:

pv file
pv options file
pv file > filename.out
pv options | command > filename.out
comand1 | pv | command2 

Die mit pv verwendeten Optionen sind in drei Kategorien unterteilt: Anzeigeschalter, Ausgabemodifikatoren und allgemeine Optionen.

Optionen für PV-Anzeigemodifikatoren

Einige Optionen befinden sich unter Anzeigemodifikatoren.

  • Um die Anzeigeleiste einzuschalten, verwenden Sie die Option -p.
  • Um die verstrichene Zeit anzuzeigen, verwenden Sie die Option --timer.
  • Um den ETA-Timer einzuschalten, der zu schätzen versucht, wie lange es dauern wird, bis ein Vorgang abgeschlossen ist, verwenden Sie die Option --eta. Die Schätzung basiert auf früheren Übertragungsraten und der Gesamtdatengröße.
  • Um einen Tarifzähler zu aktivieren, verwenden Sie die Option --rate.
  • Um die Gesamtmenge der bisher übertragenen Daten anzuzeigen, verwenden Sie die Option --bytes.
  • Um Fortschrittsinformationen in ganzzahligen Prozentsätzen anstelle einer visuellen Anzeige anzuzeigen, verwenden Sie die Option -n. Dies kann nützlich sein, wenn Sie pv mit dem Dialogbefehl verwenden, um den Fortschritt in einem Dialogfeld anzuzeigen.

Optionen für PV-Anzeigemodifikatoren

Einige Optionen befinden sich unter Ausgabemodifikatoren.

  • Um zu warten, bis das erste Byte übertragen wurde, bevor Fortschrittsinformationen angezeigt werden, verwenden Sie die Option --wait.
  • Um davon auszugehen, dass die Gesamtmenge der zu übertragenden Daten bei der Berechnung von Prozentsatz und ETA SIZE Bytes beträgt, verwenden Sie die Option --size SIZE.
  • Um Sekunden zwischen Aktualisierungen anzugeben, verwenden Sie die Option --interval SECONDS.
  • Verwenden Sie die Option --force, um einen Vorgang zu erzwingen. Diese Option zwingt pv dazu, visuelle Elemente anzuzeigen, wenn der Standardfehler kein Terminal ist.
  • Die allgemeinen Optionen sind --help zum Anzeigen von Nutzungsinformationen und –version zum Anzeigen von Versionsinformationen.

Pv-Befehl mit Beispielen unter Linux

1. Wenn keine Option enthalten ist, werden pv-Befehle mit dem Standardwert -p, -t, -e-, -r- und -b-Optionen.

Um beispielsweise die Datei opensuse.vdi nach /tmp/opensuse.vdi zu kopieren, führen Sie diesen Befehl aus und beobachten Sie den Fortschrittsbalken im Screencast.

pv opensuse.vdi > /tmp/opensuse.vdi

2. Um eine ZIP-Datei aus Ihrer /var/log/syslog-Datei zu erstellen, führen Sie den folgenden Befehl aus.

pv /var/log/syslog | zip > syslog.zip

3. Um die Anzahl der Zeilen, Wörter und Bytes in der Datei /etc/hosts zu zählen und dabei nur den Fortschrittsbalken anzuzeigen, führen Sie den folgenden Befehl aus.

pv -p /etc/hosts | wc

4. Überwachen Sie den Fortschritt der Erstellung einer Sicherungsdatei mit dem Dienstprogramm tar.

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

5. Im Beispiel verwenden wir den dd-Befehl, um die ISO-Datei auf den USB-Stick zu schreiben:

dd if=debian-10.11.0-amd64-DVD-1.iso | pv | dd of=/dev/sda bs=4M

6. Verwenden Sie pv und das Terminal-basierte Tool dialog zusammen, um wie folgt einen Dialog-Fortschrittsbalken zu erstellen.

tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70

Zusammenfassung

Dies ist ein gutes terminalbasiertes Tool, das Sie mit Tools verwenden können, die nicht in der Lage sind, den Fortschritt von Vorgängen wie Kopieren/Verschieben/Sichern von Dateien zu überwachen. Weitere Optionen finden Sie unter man pv .

Ich hoffe, dass Sie diesen Artikel hilfreich finden und einen Kommentar hinterlassen können, wenn Sie Ideen zur Verwendung des pv-Befehls hinzufügen möchten. Und wenn bei der Verwendung Fehler auftreten, können Sie auch einen Kommentar hinterlassen.