Le GNU cp
et GNU mv
Les outils sont utilisés pour copier et déplacer des fichiers et des répertoires dans le système d'exploitation GNU/Linux. Une fonctionnalité manquante dans ces deux utilitaires est qu'ils ne vous montrent aucune barre de progression. Si vous copiez un fichier ou un répertoire volumineux, vous ne savez vraiment pas combien de temps le processus de copie prendrait, ni le pourcentage de données copiées. Vous ne verrez pas quel fichier est actuellement copié, ni combien ont déjà été copiés. Tout ce que vous verrez est juste le curseur clignotant et l'indicateur LED du disque dur. Grâce à Advanced Copy , un correctif pour Gnu Coreutils
, nous pouvons maintenant ajouter une barre de progression à cp
et mv
commandes sous Linux et afficher la barre de progression lors de la copie et/ou du déplacement de fichiers et de répertoires volumineux.
Advanced Copy est un mod pour le GNU cp
et GNU mv
programmes. Il ajoute une barre de progression et fournit des informations sur ce qui se passe pendant que vous copiez ou déplacez des fichiers et des dossiers. Non seulement la barre de progression, mais aussi le taux de transfert de données, le temps restant estimé et le nom du fichier en cours de copie. À la fin, vous verrez un bref résumé du nombre de fichiers copiés et du temps qu'il a fallu pour copier les fichiers.
Installer le correctif "Advanced Copy" pour ajouter une barre de progression aux commandes cp et mv sous Linux
Les commandes cp et mv font partie des GNU coreutils
. Vous devez donc télécharger les derniers GNU coreutils
d'ici .
$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
Extrayez l'archive téléchargée à l'aide de la commande :
$ tar xvJf coreutils-8.32.tar.xz
Cette commande extraira l'archive coreutils dans un dossier nommé coreutils-8.32
dans le répertoire courant. CD dedans :
$ cd coreutils-8.32/
Téléchargez le correctif Advanced Copy à l'aide de la commande suivante :
$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch
Enfin, appliquez le patch en exécutant les commandes suivantes une par une :
$ patch -p1 -i advcpmv-0.8-8.32.patch
$ ./configure
$ make
Maintenant deux nouveaux binaires corrigés à savoir cp
et mv
sera créé dans le coreutils-8.32/src
dossier. Copiez-les simplement dans votre $PATH comme ci-dessous :
$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv
C'est ça. Le cp
et mv
les commandes ont maintenant une fonctionnalité de barre de progression.
Chaque fois que vous voulez une barre de progression lors de la copie ou du déplacement de fichiers et de répertoires, ajoutez simplement -g
drapeau comme ci-dessous :
$ cp -g archlinux.iso mydownload/
Ou utilisez --progress-bar
drapeau :
$ cp --progress-bar archlinux.iso mydownload/
Exemple de résultat :
Copying at 25.7 MiB/s (about 0h 0m 1s remaining)
archlinux.iso 568.1 MiB / 646.0 MiB
[=========================================================================> ] 87.9 %
À la fin du processus de copie, vous verrez combien de fichiers ont été copiés, combien de temps il a fallu pour copier le ou les fichiers et le taux de transfert de données par seconde. Sympa, n'est-ce pas ?
1 files (646.0 MiB) copied in 11.8 seconds ( 54.7 MiB/s).
Pour copier un répertoire et ses sous-répertoires de manière récursive, il suffit d'ajouter -R
drapeau :
$ cp -gR directory1/ directory2/
De même, pour déplacer des fichiers en utilisant mv
commande, exécutez :
$ mv -g archlinux.iso mydownload/
Ou utilisez --progress-bar
drapeau :
$ mv --progress-bar archlinux.iso mydownload/
Pour déplacer des répertoires avec mv
commande, utilisez :
$ mv -g directory1/ directory2/
Vous pouvez également créer des alias pour enregistrer quelques frappes. Pour ce faire, modifiez ~/.bashrc
fichier :
$ nano ~/.bashrc
Ajoutez les lignes suivantes à la fin :
alias cp='/usr/local/bin/cp -gR'
alias mv='/usr/local/bin/mv -g'
Appuyez sur Ctrl+o
et Ctl+x
pour enregistrer et fermer le fichier.
Exécutez maintenant la commande suivante pour appliquer les modifications :
$ source ~/.bashrc
A partir de maintenant, vous pouvez simplement utiliser cp
ou mv
commandes sans -g
(ou --progress-bar
) drapeau.
Veuillez noter que les programmes originaux ne sont pas écrasés. Vous pouvez toujours les appeler à tout moment via /usr/bin/cp
ou /usr/bin/mv
.
Ajout de la fonctionnalité de barre de progression à cp
et mv
commandes est une bonne idée si vous copiez ou déplacez souvent de nombreux fichiers et répertoires volumineux. Vous pouvez maintenant voir exactement ce qui se passe lors de la copie et du déplacement de fichiers, au lieu de regarder l'écran.
Remarque :
L'auteur original a envoyé le patch à l'équipe qui maintient GNU CoreUtils. Ils ne fusionneront pas ce patch, car mv et cp sont complets.