Recherche de site Web

gcp - Un utilitaire avancé de copie de fichiers pour Linux


La plupart d'entre vous ont remarqué que la commande cp n'affichera pas la progression de la copie lors de la copie des fichiers/dossiers. Lorsque je copie un fichier volumineux avec la commande cp, je n'ai vraiment aucune idée du temps que cela va prendre, ni quel est le pourcentage actuellement copié. À part regarder l'icône du curseur clignotant dans le terminal et l'indicateur du disque dur lors de la copie de fichiers volumineux, je n'ai aucune idée si la copie est réellement en cours ou non. Pas plus! C'est ici que l'utilitaire gcp entre en aide. Le gcp (cp de Goffi) est un outil avancé de copie de fichiers, fortement inspiré de l'utilitaire de commande traditionnel cp. , mais avec quelques fonctionnalités supplémentaires. Il s'agit d'un logiciel entièrement gratuit et open source, publié sous licence publique générale GNU.

Contrairement à la commande cp, l'utilitaire gcp offre les fonctionnalités de haut niveau suivantes :

  • Affiche l'indicateur de progression de la copie, avec la durée estimée, la vitesse actuelle du fichier, etc.
  • gcp continue de copier même en cas de problème. Il ignorera simplement le fichier problématique lors de la copie et copiera les fichiers suivants.
  • Il peut copier un ou plusieurs fichiers ou dossiers.
  • gcp enregistre toutes ses actions. Ainsi, nous pouvons facilement trouver quels fichiers ont été copiés avec succès.
  • Si vous annulez accidentellement un processus de copie, il en conservera une trace. Au lieu de supprimer le contenu, il conservera le contenu partiellement copié. Vous pouvez ensuite réexécuter le processus de copie et il copiera le reste des fichiers là où vous l'avez laissé.
  • Si vous lancez une copie alors qu'une autre est déjà en cours d'exécution, les fichiers sont ajoutés à la première file d'attente, cela évite à votre disque dur de bouger tout le temps sa tête de lecture/écriture.
  • Vous pouvez enregistrer une liste des fichiers que vous avez copiés et les recopier ultérieurement à partir de cette liste. Cela sera très utile lorsque vous souhaitez copier les mêmes fichiers sur plusieurs cibles.

Dans ce bref guide, je vais vous montrer comment installer et gcp sous les systèmes d'exploitation Linux et Unix.

Installer gcp sur Linux

gcp est disponible dans les référentiels par défaut de Debian et Ubuntu. Vous pouvez installer en exécutant simplement la commande suivante depuis le terminal :

sudo apt-get install gcp

Pour Arch Linux et ses dérivés, il est disponible en AUR. Ainsi, vous pouvez l'installer en utilisant n'importe quel assistant AUR, par exemple Yay.

yay -S python-gcp-git

Ensuite, installez le package python-progressbar, qui permet d'afficher la barre de progression lors de la copie des fichiers.

yay -S python-progressbar

gcp est également disponible sur PyPI, vous pouvez l'installer avec le gestionnaire de packages Pip comme ci-dessous :

pip3 install gcp

Et enfin, installez python-progressbar.

Debian/Ubuntu :

sudo apt-get install python-progressbar

Comment utiliser gcp, le copieur de fichiers avancé, sous Linux

L'utilisation de gcp est à peu près la même que celle de la commande cp.

L'utilisation typique de gcp est :

gcp [OPTIONS] FILE DEST
gcp [OPTIONS] FILE1 [FILE2...] DEST-DIR

Laissez-moi vous montrer quelques exemples pratiques. La commande suivante copiera le contenu de Dir1 dans un répertoire appelé Dir2.

gcp Dir1/video.mp4 Dir2/

Exemple de résultat :

Copying 876.53 MiB 100% |############################| 30.08 MB/s Time: 0:00:30

Comme vous le voyez dans le résultat ci-dessus, la commande gcp affiche l'indicateur de progression de la copie, avec la durée estimée, la vitesse actuelle du fichier, etc. Cela nous permettra de trouver facilement ce qui se passe réellement.

Pour copier plusieurs fichiers, spécifiez-les simplement les uns après les autres ainsi que le répertoire cible comme ci-dessous.

gcp file1 file2 Dir

Pour copier un dossier dans un autre dossier, utilisez l'indicateur -r comme ci-dessous.

gcp -r Dir1/ Dir2/

Si vous ne souhaitez pas voir la barre de progression, vous pouvez la désactiver en utilisant l'indicateur --no-progress.

gcp --no-progress source destination

Si le dossier cible contient déjà le même fichier, vous recevrez le message d'avertissement suivant :

File [/home/sk/Dir2/video.mp4] already exists, skipping it !
/!\ THE FOLLOWING FILES WERE *NOT* SUCCESSFULY COPIED:
 - /home/sk/Dir1/video.mp4
--

Please check journal: /home/sk/.gcp/journal

Vous pouvez vérifier le fichier journal si le processus de fichier précédent s'est terminé avec succès ou non.

cat /home/sk/.gcp/journal

Résultat :

/home/sk/Dir1/video.mp4
OK:

Si le résultat est OK, le processus de copie est réussi. Si le résultat est PARTIAL, cela signifie que le fichier a été copié, mais que quelque chose s'est mal passé (par exemple, modification des autorisations du fichier). FAILED signifie que le fichier n'a pas été copié.

Pour plus de détails sur l'utilitaire gcp, exécutez la commande suivante :

gcp --help

Ou reportez-vous aux pages de manuel.

man gcp

Mise à jour :

La barre de progression des commandes cp et mv peut être facilement ajoutée à l'aide d'un correctif nommé "Advanced Copy". Pour plus de détails, consultez le lien suivant.

Copie avancée - Ajouter une barre de progression aux commandes cp et mv sous Linux

Ressource :

  • Référentiel gcp Gitea

Lecture recommandée :

  • Comment surveiller la progression des données via un canal à l'aide de la commande « pv »
  • Comment transférer rapidement des fichiers volumineux sur le réseau sous Linux et Unix

Articles connexes