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 voudrez peut-être surveiller la progression d’une opération en cours. De nombreux outils de terminal ne disposent pas de la fonctionnalité nécessaire pour vous permettre d’afficher les informations de progression lorsqu’une commande s’exécute dans un canal.

Dans cet article, nous allons nous intéresser à une commande Linux/Unix importante appelée pv – Pipe Viewer.

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

  • Le temps qui s’est écoulé.
  • Le pourcentage d’achèvement comprend une barre de progression.
  • Affiche le débit actuel.
  • Le total des données transférées.
  • et l’ETA (Temps estimé).

Comment installer pv Command 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 ?

Le photovoltaïque 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, les commutateurs d’affichage, les modificateurs de sortie et les 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 le minuteur 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 en 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 des 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 options 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 observez la barre de progression dans la capture d’écran.

# 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 le terminal de dialogue 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 l’adaptation/le déplacement/la sauvegarde de fichiers, pour plus d’options vérifiez man pv.

J’espère que vous trouverez cet article utile et que vous pouvez 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.

Articles connexes: