GNU/Linux >> Tutoriels Linux >  >> Linux

Comment surveiller la progression des données (copier/sauvegarder/compresser) à l'aide de la commande "pv"

Lorsque vous effectuez des sauvegardes, copiez/déplacez des fichiers volumineux sur votre système Linux, vous souhaiterez peut-être surveiller la progression d'une opération en cours. De nombreux outils de terminal n'ont pas la fonctionnalité pour vous permettre d'afficher les informations de progression lorsqu'une commande est en cours d'exécution dans un tube.

Lire aussi  :Commande de copie avancée pour afficher la barre de progression lors de la copie de fichiers sous Linux

Dans cet article, nous examinerons une commande Linux/Unix importante appelée pv .

Lecture suggérée : Progress - Un petit outil pour surveiller la progression des commandes (cp, mv, dd, tar, etc.)

PV est un outil basé sur un terminal qui vous permet de surveiller la progression des données envoyées via un canal. Lors de l'utilisation du pv commande, il vous donne un affichage visuel des informations suivantes :

  1. Le temps qui s'est écoulé.
  2. Le pourcentage achevé, y compris une barre de progression.
  3. Affiche le débit actuel.
  4. Le total des données transférées.
  5. et l'ETA (temps estimé).

Comment installer la commande pv sous Linux ?

Cette commande n'est pas installée par défaut sur la plupart des distributions Linux, vous pouvez donc l'installer en suivant les étapes ci-dessous.

Sur Fedora, CentOS et RHEL

Vous devez d'abord activer le référentiel EPEL, puis exécuter la commande suivante.

# yum install pv
# dnf install pv            [On Fedora 22+ versions]
Exemple de sortie
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!

Sur Debian, Ubuntu et Linux Mint

# apt-get install pv
Exemple de sortie
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) ...

Sur Gentoo Linux

Utilisez le gestionnaire de paquets emerge pour installer pv commande comme indiqué.

# emerge --ask sys-apps/pv

Sur Linux FreeBSD

Vous pouvez utiliser le port pour l'installer comme suit :

# cd /usr/ports/sysutils/pv/
# make install clean

OU ajoutez le package binaire comme suit :

# pkg_add -r pv

Comment utiliser la commande pv sous Linux ?

vp est principalement utilisé avec d'autres programmes qui n'ont pas la capacité de surveiller la progression d'une opération en cours. Vous pouvez l'utiliser, en le plaçant dans un pipeline entre deux processus, avec les options appropriées disponibles.

L'entrée standard de pv sera transmis à sa sortie standard et la progression (sortie) sera imprimée sur l'erreur standard. Son comportement est similaire à celui de la commande cat sous Linux.

La syntaxe de la commande pv est la suivante :

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

Les options utilisées avec pv sont divisés en trois catégories, les commutateurs d'affichage , modificateurs de sortie et options générales .

Certaines options sous les modificateurs d'affichage.
  1. Pour activer la barre d'affichage, utilisez le -p option.
  2. Pour afficher le temps écoulé, utilisez le –timer option.
  3. Pour activer le minuteur ETA qui essaie de deviner combien de temps il faudra avant la fin d'une opération, utilisez le –eta option. L'estimation est basée sur les taux de transfert précédents et la taille totale des données.
  4. Pour activer un compteur de taux, utilisez le –rate option.
  5. Pour afficher la quantité totale de données transférées jusqu'à présent, utilisez les -octets option.
  6. Pour afficher la progression sous forme de pourcentage entier au lieu d'une indication visuelle, utilisez le -n option. Cela peut être bon lors de l'utilisation de pv avec la commande dialog pour afficher la progression dans une boîte de dialogue.
Certaines options sous les modificateurs de sortie.
  1. Pour attendre que le premier octet soit transféré avant d'afficher les informations de progression, utilisez la commande –wait option.
  2. Pour supposer que la quantité totale de données à transférer est de SIZE octets lors du calcul du pourcentage et de l'ETA, utilisez –size SIZE option.
  3. Pour spécifier les secondes entre les mises à jour, utilisez l'-intervalle SECONDS option.
  4. Utilisez –force possibilité de forcer une opération. Cette option force pv à afficher des visuels lorsque l'erreur standard n'est pas un terminal.
  5. Les options générales sont –help pour afficher les informations d'utilisation et –version pour afficher les informations de version.

Utiliser la commande pv avec des exemples

1. Lorsqu'aucune option n'est incluse, pv commandes exécutées avec -p par défaut , -t , -e , -r et -b options.

Par exemple, pour copier le opensuse.vdi fichier dans /tmp/opensuse.vdi , exécutez cette commande et regardez la barre de progression dans le screencast.

# pv opensuse.vdi > /tmp/opensuse.vdi

2. Pour créer un fichier zip à partir de votre fichier /var/log/syslog, exécutez la commande suivante.

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

3. Pour compter le nombre de lignes, de mots et d'octets dans le fichier /etc/hosts fichier tout en affichant uniquement la barre de progression, exécutez cette commande ci-dessous.

# pv -p /etc/hosts | wc

4. Surveillez la progression de la création d'un fichier de sauvegarde à l'aide de l'utilitaire tar.

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

5. Utiliser pv et boîte de dialogue outil basé sur un terminal pour créer une barre de progression de dialogue comme suit.

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

Résumé

Il s'agit d'un bon outil basé sur un terminal que vous pouvez utiliser avec des outils qui n'en ont pas la capacité, pour surveiller la progression d'une opération telle que copier/déplacer/sauvegarder des fichiers, pour plus d'options, consultez man pv .

J'espère que vous trouverez cet article utile et que vous pourrez poster un commentaire si vous avez des idées à ajouter sur l'utilisation de la commande pv. Et si vous rencontrez des erreurs lors de son utilisation, vous pouvez également laisser un commentaire.


Linux
  1. Comment sauvegarder ou cloner des partitions Linux à l'aide de la commande 'cat'

  2. Comment redémarrer Linux en utilisant la ligne de commande

  3. Comment compresser et extraire des fichiers à l'aide de la commande tar sous Linux ?

  4. Comment tuer un processus sous Linux en utilisant la commande ?

  5. Comment sauvegarder le système d'exploitation Linux à l'aide de la commande "dd"

Comment surveiller la progression des données dans un tube à l'aide de la commande "pv"

Comment sauvegarder des fichiers et des dossiers dans Debian 10

Comment sauvegarder le système de fichiers Linux à l'aide de la commande dump

Comment utiliser la commande ss (Surveiller les connexions réseau)

Comment copier des fichiers sous Linux à l'aide de la commande CP

Comment créer une partition à l'aide de la commande "parted"