PV
Installé avec le paquet pv
Voir aussi : cp, tar, nc, gzip, bzip2, xz et zip
Afficher la version de la commande pv
pv --version
ou
apt-cache policy pv
Copier un fichier avec progression
pv filename > newfilename
ex :
# pv debian-8.6.0-i386-netinst.iso > /home/adminsys/depot/debian860.iso
316MiO 0:00:13 [24,1MiB/s] [================================>] 100%
Copier un fichier vers un hôte distant avec progression
Sur l’hôte distant: ouvrir un port temporairement
nc -l -v -w time -p port > filename
Options -l pour le mode écoute (listen), -v pour le mode verbeux et -w pour définir un temps d’écoute avant timeout.
Sur l’hôte local : copier le fichier
pv filename | nc -w time IP port
L’hôte distant possède l’adresse IP 192.168.1.13 qui sera utilisée depuis l’hôte local.
ex :
Hôte distant
# nc -l -v -w 20 -p 2000 > /home/adminsys/depot/debian860.iso
Hôte local
# pv debian-8.6.0-i386-netinst.iso | nc -w 20 192.168.1.13 2000

Afficher la progression d’un tarage ou détarage
Tarage : Progression non graphique
tar -cf - fichiers|dossiers | pv -s $(du -sb fichiers|dossiers | awk '{print $1}') > archive.tar
ex :
# tar -cf - sample | pv -s $(du -sb sample | awk '{print $1}') > sample.tar

Tarage : Progression graphique
(tar -cf - fichiers|dossiers | pv -n -s $(du -sb fichiers|dossiers | awk '{print $1}') > archive.tar) 2>&1 | dialog --gauge "text" height width
ex :
# (tar -cf - sample | pv -n -s $(du -sb sample | awk '{print $1}') > sample.tar) 2>&1 | dialog --gauge "Progression..." 7 50

Détarage : Progression non graphique
pv archive.tar | tar -xf -
ex :
# pv sample.tar | tar -xf -

Détarage : Progression graphique
(pv -n archive.tar | tar -xf -) 2>&1 | dialog --gauge "text" height width
ex :
# (pv -n sample.tar | tar -xf -) 2>&1 | dialog --gauge "Progression..." 7 50

Afficher la progression d’une compression ou décompression avec archivage
Compression : Progression non graphique
tar -cf - fichiers|dossiers | pv -s $(du -sb fichiers|dossiers | awk '{print $1}') | (gzip|bzip2|xz) -c(6|9|1) > archive.tar.(gz|bz2|xz)
ex :
# tar -cf - sample | pv -s $(du -sb sample | awk '{print $1}') | gzip -c6 > sample.tar.gz

Compression : Progression graphique
(tar -cf - fichiers|dossiers | pv -n -s $(du -sb fichiers|dossiers | awk '{print $1}') | (gzip|bzip2|xz) -c(6|9|1) > archive.tar.(gz|bz2|xz)) 2>&1 | dialog --gauge "text" height width
ex :
# (tar -cf - sample | pv -n -s $(du -sb sample | awk '{print $1}') | gzip -c6 > sample.tar.gz) 2>&1 | dialog --gauge "Progression..." 7 50

Décompression : Progression non graphique
pv archive.tar.(gz|bz2|xz) | tar -(z|j|J)xf -
ex :
# pv sample.tar.gz | tar -zxf -

Décompression : Progression graphique
(pv -n archive.tar.(gz|bz2|xz) | tar -(z|j|J)xf -) 2>&1 | dialog --gauge "text" height width
ex :
# (pv -n sample.tar.gz | tar -zxf -) 2>&1 | dialog --gauge "Progression..." 7 50

Afficher la progression d’une compression ou décompression sans archivage
Compression : Progression non graphique
pv archive.tar | (gzip|bzip2|xz) -c(6|9|1) > archive.tar.(gz|bz2|xz)
ex :
# pv sample.tar | gzip -c6 > sample.tar.gz

Compression : Progression graphique
(pv -n archive.tar | (gzip|bzip2|xz) -c(6|9|1) > archive.tar.(gz|bz2|xz)) 2>&1 | dialog --gauge "text" height width
ex :
# (pv -n sample.tar | gzip -c6 > sample.tar.gz) 2>&1 | dialog --gauge "Progression..." 7 50

Décompression : Progression non graphique
pv archive.tar.(gz|bz2|xz) | (gzip|bzip2|xz) -dc > archive.tar
ex :
# pv sample.tar.gz | gzip -dc > sample.tar

Décompression : Progression graphique
(pv -n archive.tar.(gz|bz2|xz) | (gzip|bzip2|xz) -dc > archive.tar) 2>&1 | dialog --gauge "text" height width
ex :
# (pv -n sample.tar.gz | gzip -dc > sample.tar) 2>&1 | dialog --gauge "Progression..." 7 50
