Wenn Sie Backups erstellen, große Dateien auf Ihrem Linux-System kopieren/verschieben, möchten Sie vielleicht den Fortschritt einer laufenden Operation ü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.
Lesen Sie auch :Erweiterter Kopierbefehl zum Anzeigen des Fortschrittsbalkens beim Kopieren von Dateien in Linux
In diesem Artikel werden wir uns einen wichtigen Linux/Unix-Befehl namens pv ansehen .
Empfohlener Text: Fortschritt – Ein winziges Tool zum Überwachen des Fortschritts für (cp, mv, dd, tar usw.) Befehle
Pv ist ein Terminal-basiertes Tool, mit dem Sie den Fortschritt von Daten überwachen können, die durch eine Pipe gesendet werden. Bei Verwendung des pv Befehl erhalten Sie eine visuelle Anzeige der folgenden Informationen:
- Die verstrichene Zeit.
- Der abgeschlossene Prozentsatz einschließlich eines Fortschrittsbalkens.
- Zeigt die aktuelle Durchsatzrate an.
- Die insgesamt übertragenen Daten.
- und die ETA (geschätzte Zeit).
Wie installiere ich pv Command unter Linux?
Dieser Befehl wird auf den meisten Linux-Distributionen nicht standardmäßig installiert, daher können Sie ihn installieren, indem Sie die folgenden Schritte ausführen.
Auf Fedora, CentOS und RHEL
Zuerst müssen Sie das EPEL-Repository aktivieren und dann den folgenden Befehl ausführen.
# yum install pv # dnf install pv [On Fedora 22+ versions]
Beispielausgabe
Dependencies Resolved ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: pv x86_64 1.4.6-1.el7 epel 47 k Transaction Summary ================================================================================= Install 1 Package Total download size: 47 k Installed size: 93 k Is this ok [y/d/N]: y Downloading packages: pv-1.4.6-1.el7.x86_64.rpm | 47 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : pv-1.4.6-1.el7.x86_64 1/1 Verifying : pv-1.4.6-1.el7.x86_64 1/1 Installed: pv.x86_64 0:1.4.6-1.el7 Complete!
Auf Debian, Ubuntu und Linux Mint
# apt-get install pv
Beispielausgabe
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: pv 0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded. Need to get 33.7 kB of archives. After this operation, 160 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe pv amd64 1.2.0-1 [33.7 kB] Fetched 33.7 kB in 0s (48.9 kB/s) Selecting previously unselected package pv. (Reading database ... 216340 files and directories currently installed.) Preparing to unpack .../archives/pv_1.2.0-1_amd64.deb ... Unpacking pv (1.2.0-1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up pv (1.2.0-1) ...
Auf Gentoo Linux
Verwenden Sie den emerge-Paketmanager, um pv zu installieren Befehl wie gezeigt.
# emerge --ask sys-apps/pv
Auf FreeBSD-Linux
Sie können den Port verwenden, um es wie folgt zu installieren:
# cd /usr/ports/sysutils/pv/ # make install clean
ODER fügen Sie das Binärpaket wie folgt hinzu:
# pkg_add -r pv
Wie verwende ich pv Command unter Linux?
PV wird meistens mit anderen Programmen verwendet, die nicht in der Lage sind, den Fortschritt einer laufenden Operation zu überwachen. Sie können es verwenden, indem Sie es in einer Pipeline zwischen zwei Prozessen platzieren, wobei die entsprechenden Optionen verfügbar sind.
Die Standardeingabe von pv wird an die Standardausgabe weitergeleitet und der Fortschritt (Ausgabe) wird auf der Standardfehlerausgabe ausgegeben. Es verhält sich ähnlich wie der cat-Befehl in Linux.
Die Syntax des pv-Befehls 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 .
Einige Optionen unter Anzeigemodifikatoren.
- Um die Anzeigeleiste einzuschalten, verwenden Sie -p Möglichkeit.
- Um die verstrichene Zeit anzuzeigen, verwenden Sie den –timer Möglichkeit.
- Um den ETA-Timer einzuschalten, der versucht zu schätzen, wie lange es dauern wird, bis ein Vorgang abgeschlossen ist, verwenden Sie die –eta Möglichkeit. Die Schätzung basiert auf früheren Übertragungsraten und der Gesamtdatengröße.
- Um einen Ratenzähler einzuschalten, verwenden Sie die –Rate Möglichkeit.
- Um die Gesamtmenge der bisher übertragenen Daten anzuzeigen, verwenden Sie die –bytes Möglichkeit.
- Um eine Fortschrittsinformation als ganzzahligen Prozentsatz anstelle einer visuellen Anzeige anzuzeigen, verwenden Sie -n Möglichkeit. Das kann gut sein, wenn Sie pv verwenden mit dem dialog-Befehl, um den Fortschritt in einem Dialogfeld anzuzeigen.
Einige Optionen unter Ausgabemodifikatoren.
- Um zu warten, bis das erste Byte übertragen wird, bevor Fortschrittsinformationen angezeigt werden, verwenden Sie –wait Möglichkeit.
- Angenommen, die zu übertragende Gesamtdatenmenge ist SIZE Bytes bei der Berechnung von Prozentsatz und voraussichtlicher Ankunftszeit, verwenden Sie –size SIZE Möglichkeit.
- Um Sekunden zwischen Aktualisierungen anzugeben, verwenden Sie das –Intervall SEKUNDEN Möglichkeit.
- Verwenden Sie –force Möglichkeit, eine Operation zu erzwingen. Diese Option zwingt pv, Visuals anzuzeigen, wenn Standardfehler kein Terminal ist.
- Die allgemeinen Optionen sind –Hilfe um Nutzungsinformationen und –Version anzuzeigen um Versionsinformationen anzuzeigen.
Verwenden Sie den pv-Befehl mit Beispielen
1. Wenn keine Option enthalten ist, pv Befehle werden standardmäßig mit -p ausgeführt , -t , -e , -r und -b Optionen.
Zum Beispiel, um die opensuse.vdi zu kopieren Datei nach /tmp/opensuse.vdi , 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 /etc/hosts zu zählen Datei, während nur der Fortschrittsbalken angezeigt wird, führen Sie diesen Befehl unten aus.
# pv -p /etc/hosts | wc
4. Überwachen Sie den Fortschritt beim Erstellen einer Sicherungsdatei mit dem Dienstprogramm tar.
# tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)
5. Mit pv und Dialogfeld Terminal-basiertes Tool zusammen, um einen Dialog-Fortschrittsbalken wie folgt zu erstellen.
# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70
Zusammenfassung
Dies ist ein gutes Terminal-basiertes 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, Sie finden diesen Artikel hilfreich und können einen Kommentar hinterlassen, wenn Sie Ideen zur Verwendung des pv-Befehls hinzufügen möchten. Und wenn Sie während der Verwendung Fehler erhalten, können Sie auch einen Kommentar hinterlassen.