GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überwachen Sie den Fortschritt von Daten (Kopieren/Sichern/Komprimieren) mit dem Befehl „pv“.

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:

  1. Die verstrichene Zeit.
  2. Der abgeschlossene Prozentsatz einschließlich eines Fortschrittsbalkens.
  3. Zeigt die aktuelle Durchsatzrate an.
  4. Die insgesamt übertragenen Daten.
  5. 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.
  1. Um die Anzeigeleiste einzuschalten, verwenden Sie -p Möglichkeit.
  2. Um die verstrichene Zeit anzuzeigen, verwenden Sie den –timer Möglichkeit.
  3. 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.
  4. Um einen Ratenzähler einzuschalten, verwenden Sie die –Rate Möglichkeit.
  5. Um die Gesamtmenge der bisher übertragenen Daten anzuzeigen, verwenden Sie die –bytes Möglichkeit.
  6. 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.
  1. Um zu warten, bis das erste Byte übertragen wird, bevor Fortschrittsinformationen angezeigt werden, verwenden Sie –wait Möglichkeit.
  2. Angenommen, die zu übertragende Gesamtdatenmenge ist SIZE Bytes bei der Berechnung von Prozentsatz und voraussichtlicher Ankunftszeit, verwenden Sie –size SIZE Möglichkeit.
  3. Um Sekunden zwischen Aktualisierungen anzugeben, verwenden Sie das –Intervall SEKUNDEN Möglichkeit.
  4. Verwenden Sie –force Möglichkeit, eine Operation zu erzwingen. Diese Option zwingt pv, Visuals anzuzeigen, wenn Standardfehler kein Terminal ist.
  5. 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.


Linux
  1. So sichern oder klonen Sie Linux-Partitionen mit dem Befehl „cat“.

  2. So starten Sie Linux über die Befehlszeile neu

  3. Wie komprimiert und extrahiert man Dateien mit dem tar-Befehl unter Linux?

  4. So kopieren Sie eine Datei mit dem gnu cp-Befehl in mehrere Verzeichnisse

  5. Wie kopiere ich mit dem cp-Befehl in der Linux-Shell ein ganzes Verzeichnis in ein anderes Verzeichnis?

So überwachen Sie den Fortschritt von Daten durch eine Pipe mit dem Befehl „pv“.

So sichern Sie Dateien und Ordner in Debian 10

So sichern Sie das Linux-Dateisystem mit dem Dump-Befehl

So verwenden Sie den Befehl ss (Netzwerkverbindungen überwachen)

So kopieren Sie Dateien unter Linux mit dem CP-Befehl

So erstellen Sie eine Partition mit dem Befehl „parted“