Recherche de site Web

Pv - Afficher la progression des données [Copier/Sauvegarder/Compresser] sous Linux


Lorsque vous effectuez des sauvegardes et 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é vous permettant d'afficher les informations de progression lorsqu'une commande est exécutée dans un canal.

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

Pv est un outil basé sur un terminal qui vous permet de surveiller la progression des données envoyées via un canal. Lorsque vous utilisez la commande pv, elle vous donne un affichage visuel des informations suivantes :

  • Le temps qui s'est écoulé.
  • Le pourcentage complété comprend une barre de progression.
  • Affiche le débit actuel.
  • Le total des données transférées.
  • et l'ETA (heure estimée).

Comment installer la commande pv sous Linux ?

La commande pv 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.

Installer pv sur Linux basé sur RHEL

Tout d’abord, vous devez activer le référentiel EPEL, puis exécuter la commande yum ou dnf suivante pour l’installer.

yum install pv
OR
dnf install pv          

Installer pv sur Linux basé sur Debian

sudo apt-get install pv

Installer pv sur d'autres distributions Linux

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]    

Comment utiliser la commande pv sous Linux ?

pv 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 transmise à 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ées en trois catégories : commutateurs d'affichage, modificateurs de sortie et options générales.

Options des modificateurs d'affichage Pv

Certaines options se trouvent sous les modificateurs d'affichage.

  • Pour activer la barre d'affichage, utilisez l'option -p.
  • Pour afficher le temps écoulé, utilisez l'option --timer.
  • Pour activer la minuterie ETA qui essaie de deviner combien de temps il faudra avant la fin d'une opération, utilisez l'option --eta. L'estimation est basée sur les taux de transfert précédents et la taille totale des données.
  • Pour activer un compteur de taux, utilisez l'option --rate.
  • Pour afficher la quantité totale de données transférées jusqu'à présent, utilisez l'option --bytes.
  • Pour afficher des informations de progression sous forme de pourcentage entier au lieu d'une indication visuelle, utilisez l'option -n. Cela peut être utile lorsque vous utilisez pv avec la commande dialog pour afficher la progression dans une boîte de dialogue.

Options des modificateurs d'affichage Pv

Certaines options se trouvent sous les modificateurs de sortie.

  • Pour attendre que le premier octet soit transféré avant d'afficher les informations de progression, utilisez l'option --wait.
  • 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 l'option --size SIZE.
  • Pour spécifier les secondes entre les mises à jour, utilisez l'option --interval SECONDS.
  • Utilisez l'option --force pour forcer une opération. Cette option force pv à afficher des visuels lorsque l'erreur standard n'est pas un terminal.
  • Les options générales sont --help pour afficher les informations d'utilisation et –version pour afficher les informations de version.

Commande Pv avec exemples sous Linux

1. Lorsqu'aucune option n'est incluse, les commandes pv s'exécutent avec les valeurs par défaut -p, -t, -e, -r et -b.

Par exemple, pour copier le fichier opensuse.vdi 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 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. Dans l'exemple, nous utilisons la commande dd pour écrire le fichier ISO sur la clé USB :

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

6. Utilisation conjointe de pv et de l'outil basé sur un terminal dialog 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'ont pas la capacité de surveiller la progression des opérations telles que la copie/le déplacement/la sauvegarde de fichiers. Pour plus d'options, consultez man pv. .

J'espère que cet article vous sera 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.