Recherche de site Web

Comment copier un fichier dans plusieurs répertoires sous Linux


Lors de l’apprentissage de Linux, il est toujours la norme pour les débutants de continuer à taper plusieurs commandes pour accomplir une tâche simple. C’est compréhensible, surtout quand on commence à s’habituer à utiliser le terminal.

Cependant, comme vous avez hâte de devenir un utilisateur expérimenté de Linux, l’apprentissage de ce que j’appellerais des « commandes de raccourci » peut réduire considérablement les tendances à perdre du temps.

Dans cet article, nous allons expliquer un moyen simple, en utilisant une seule commande pour copier un fichier dans plusieurs répertoires sous Linux.

Sous Linux, la commande cp est utilisée pour copier des fichiers d’un répertoire à un autre, la syntaxe la plus simple pour l’utiliser est la suivante :

# cp [options….] source(s) destination

Alternativement, vous pouvez également utiliser la commande advanced-copy, qui affiche une barre de progression lors de la copie de fichiers/dossiers volumineux sous Linux.

Considérez les commandes ci-dessous, normalement, vous devriez taper deux commandes différentes pour copier le même fichier dans deux répertoires distincts comme suit :

# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

En supposant que vous souhaitiez copier un fichier particulier dans un maximum de cinq répertoires ou plus, cela signifie que vous devriez taper cinq commandes cp ou plus ?

Pour résoudre ce problème, vous pouvez utiliser la commande echo, un pipe, la commande xargs avec la commande cp sous la forme ci-dessous :

# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

Sous la forme ci-dessus, les chemins d’accès aux répertoires (dir1,dir2,dir3.....dirN) sont répercutés et redirigés en entrée de la commande xargs où :

  1. -n 1 – indique à xargs d’utiliser au plus un argument par ligne de commande et de l’envoyer à la commande cp.
  2. cp – utilisé pour copier un fichier.
  3. -v – active le mode détaillé pour afficher les détails de l’opération de copie.

Essayez de lire les pages de manuel des commandes cp, echo et xargs pour trouver des informations d’utilisation utiles et avancées :

$ man cp
man echo
man xargs

C’est tout, vous pouvez nous envoyer des questions en rapport avec le sujet ou tout commentaire via le formulaire de commentaire ci-dessous. Vous pouvez également lire à propos de la commande progress qui permet de surveiller la progression des commandes (cp, mv, dd, tar, etc.) qui s’exécutent actuellement sous Linux.

Articles connexes: