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 :
- Le temps qui s'est écoulé.
- Le pourcentage achevé, y compris une barre de progression.
- Affiche le débit actuel.
- Le total des données transférées.
- 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.
- Pour activer la barre d'affichage, utilisez le -p option.
- Pour afficher le temps écoulé, utilisez le –timer option.
- 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.
- Pour activer un compteur de taux, utilisez le –rate option.
- Pour afficher la quantité totale de données transférées jusqu'à présent, utilisez les -octets option.
- 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.
- Pour attendre que le premier octet soit transféré avant d'afficher les informations de progression, utilisez la commande –wait option.
- 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.
- Pour spécifier les secondes entre les mises à jour, utilisez l'-intervalle SECONDS option.
- Utilisez –force possibilité de 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.
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.