Fileutils progress bar : Barre de progression pour mv,cp...

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

C'est géniale la barre de progression avec scp hein ! Dommage que ca n'existe pas sous mv ou encore cp. Heureusement un gentil missiou a bien voulu faire un patch pour amener cette fonctionnalitée. La solution s'appelle Fileutils.

Un autre binaire existe et fonctionne pour tout type de binaire, ça s'appelle pv.

2 Fileutils

2.1 Configuration

Pour commencer, il faut aller télécharger les sources de fileutils sur les mirroirs du gnu : http://www.gnu.org/prep/ftp.html.

On télécharge les sources, puis le patch associé à la version :

Command wget
wget ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/gnu/fileutils/fileutils-4.1.tar.gz
wget http://www.aichler.net/fileutils/patches/progressbar-patch-0.2a.tar.gz

On décompresse les sources et le patch :

Command tar
tar -xzvf fileutils-4.1.tar.gz
tar -xzvf progressbar-patch-0.2a.tar.gz

Et on patch :

Command
cd fileutils-4.1/
patch -p0 < ../progressbar-patch-0.2a/fileutils-4.1-progressbar-0.2a

2.2 Compilation & installation

On lance la config des sources :

Command
./configure --prefix=/usr --bindir=/bin

Compilation :

Command
make

Installation :

Command
sudo make install

2.3 Tests

Maintenant tout doit fonctionner. Il suffit de rajouter l'option -B aux binaires pour avoir la barre de progression ex :

Command
cp -B toto toto1
toto             8% |**********                                         |   247 MB    00:52 ETA

Il ne reste plus qu'a mettre en alias ce paramètre pour l'avoir tout le temps :

Command
alias cp='cp -B'
alias mv='mv -B'
alias rm='rm -B'

Alors c'est pas top hein ?!

2.4 Pour les feignasses

Voici les binaires de la version compilée de la 4.1 à mettre dans /bin :

Binaires Progressbar

3 pv

3.1 Installation

Pour l'install, c'est simple :

Command apt-get
apt-get install pv

3.2 Utilisation

Voici l'utilisation d'une barre de progression avec tar :

Command tar
tar zcf - user | pv /bin/gzip > /tmp/backup.tar.gz