accueil > Environnement & utilitaires > pv

pv : Surveillance de la progression des données dans les pipes

pv (Pipe Viewer) est un outil pour surveiller la progression des données qui transitent dans un pipe. Il affiche en temps réel le débit de données, la quantité totale de données transférées, le temps d'achèvement estimé, etc., aidant ainsi à visualiser l'avancement des tâches de longue durée.

Aperçu

pv lit les données de l'entrée standard et les transmet à la sortie standard, tout en mesurant le flux de données et en affichant la progression sur le terminal. Ceci est particulièrement utile pour les opérations longues comme la copie de fichiers volumineux, la compression ou les transferts réseau.

Fonctionnalités principales

  • Affichage du débit de données en temps réel
  • Affichage de la quantité totale de données transférées
  • Barre de progression et temps d'achèvement estimé (ETA)
  • Fonction de limitation de la vitesse de transfert des données

Options principales

Les options principales de la commande pv sont utilisées pour contrôler l'affichage des données, limiter la vitesse et spécifier la taille.

Affichage et contrôle

Commande générée :

Essayez de combiner les commandes.

Description:

`pv` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Divers exemples d'utilisation de la commande pv pour le transfert et la surveillance des données.

Surveillance de progression de base

dd if=/dev/urandom bs=1M count=100 | pv > /dev/null

Vérifie la progression des données générées par la commande dd en les envoyant vers /dev/null avec pv.

Surveillance de la progression de la copie de fichier

pv large_file.iso > copied_file.iso

Affiche la progression lors de la copie d'un fichier volumineux à l'aide de pv. (Remplacez par le chemin réel du fichier)

Limitation de la vitesse de transfert des données

dd if=/dev/zero bs=1M count=500 | pv -L 1m > /dev/null

Surveille la progression tout en limitant la vitesse de transfert des données à 1 Mo par seconde.

Surveillance de la progression de la compression

tar -czf - my_directory | pv -s $(du -sb my_directory | awk '{print $1}') > archive.tar.gz

Vérifie la progression avec pv lors de la compression d'un répertoire à l'aide de tar et gzip. (Remplacez par le chemin réel du répertoire)

Spécifier la taille totale pour un ETA précis

dd if=/dev/urandom bs=1M count=500 | pv -s 500M > /dev/null

Indique à pv que la taille totale des données est de 500 Mo pour obtenir une progression et un temps d'achèvement estimé plus précis.

Installation

pv n'est pas inclus par défaut dans la plupart des distributions Linux, il doit donc être installé via le gestionnaire de paquets.

Commandes d'installation

Commandes d'installation pour chaque système d'exploitation.

  • Debian/Ubuntu: sudo apt update && sudo apt install pv
  • CentOS/RHEL/Fedora: sudo yum install pv ou sudo dnf install pv
  • Arch Linux: sudo pacman -S pv
  • macOS (Homebrew): brew install pv

Conseils et précautions

Conseils et points à considérer pour utiliser pv plus efficacement.

Conseils d'utilisation

  • **Insertion au milieu d'un pipeline** : Vous pouvez insérer pv au milieu d'un pipeline comme `command1 | pv | command2` pour surveiller la progression d'une étape spécifique.
  • **Utiliser -s pour un ETA précis** : En combinant avec la commande `du` comme `pv -s $(du -sb large_dir | awk '{print $1}')`, vous pouvez obtenir un ETA plus précis en spécifiant dynamiquement la taille totale.
  • **Gérer la bande passante avec la limitation de vitesse** : Lors des transferts réseau, l'utilisation de l'option `-L` pour ajuster la bande passante peut réduire l'impact sur d'autres services.
  • **Surveillance directe de fichiers** : En passant le nom du fichier comme argument, par exemple `pv file.ext`, vous pouvez surveiller la progression de la lecture de ce fichier.

Précautions

  • **Problèmes de mise en mémoire tampon** : Certaines commandes effectuent leur propre mise en mémoire tampon, ce qui peut entraîner un affichage de progression de pv différent de celui attendu. Dans ce cas, il faut vérifier les options de mise en mémoire tampon de la commande concernée.
  • **Interférence avec la sortie du terminal** : pv affiche en permanence la progression sur le terminal. Lors de l'utilisation de pv dans des scripts, il peut être nécessaire de supprimer la sortie en utilisant des options comme `-q` (quiet).

Commandes de la même catégorie