Copier le contenu d'un répertoire dans un autre sous bash [Résolu/Fermé]

Signaler
Messages postés
283
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
21 décembre 2019
-
Messages postés
283
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
21 décembre 2019
-
Bonjour,

J'ai commencé à écrire un petit programme pour gérer mes sessions de travail.

Parmi les tâches, il y aurait celle qui consiste à prendre tous les fichiers présents dans un répertoire ~/ Informatique_1 qui ont été modifiés puis de les copier dans le répertoire d'archivage correspondant /media/USB/Informatique_2 (sur une clé USB par exemple).

J'ai tenté de simplement copier les fichiers d'un répertoire dans un autre répertoire sans tenir compte de la date (c'est assez compliqué comme ça) et je n'y arrive pas. Voici une partie du programme.

function Copier_fichiers()
{ clear
  echo -e "\t\t\t   Menu - Copier des fichiers\n\n\n"
  echo -e "\t\t\t     1) Pour copier les fichiers test."
  echo -e "\t\t\t     2) Retourner au menu precedent.\n\n\n"
  echo -en "\t\t\t Entrer votre choix : "
  local choix=0
  read choix
  case "$choix" in
  1) cp --target-directory=$dir_informatique_2 $dir_informatique_1
     Message_continuer
     ;;
  2) retour=1
     ;;
  *) Message_erreur;
   ;;
  esac
}

J'ai essayé diverses variantes:

cp -t --target-directory=$dir_informatique_2 $dir_informatique_1
cp  $dir_informatique_1 --target-directory=$dir_informatique_2 
cp -t $dir_informatique_1 --target-directory=$dir_informatique_2 

mais ça ne marche toujours pas. Comment faut-il écrire cette ligne?

Merci



1 réponse

Messages postés
35138
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
17 juillet 2020
5 281
Salut,

La syntaxe la plus simple c'est :

cp -r source/* destination

Exemple :

$ ls -lh *
rep:
total 0

stuff:
total 3,2M
-rwxr-xr-x 1 jp jp 200K août  27  2012 adb
-rw-r--r-- 1 jp jp 1,1M août   9  2012 busybox
-rw-r--r-- 1 jp jp  61K août   2  2012 fakebackup.ab
-rw-rw-r-- 1 jp jp    0 juil. 28 16:00 log
-rw-r--r-- 1 jp jp  398 juil. 28 17:48 plop
-rw-r--r-- 1 jp jp  72K sept. 14  2012 RootMe.tar
-rw-r--r-- 1 jp jp 996K juil. 28 13:53 Root_with_Restore_by_Bin4ry_Linux.7z
-rwxr-xr-x 1 jp jp 3,8K sept. 15  2012 RunMe.sh
-rw-r--r-- 1 jp jp  22K févr. 28  2008 su
-rw-r--r-- 1 jp jp 824K févr. 28  2008 Superuser.apk

$ cp -rv stuff/* rep/
«stuff/adb» -> «rep/adb»
«stuff/busybox» -> «rep/busybox»
«stuff/fakebackup.ab» -> «rep/fakebackup.ab»
«stuff/log» -> «rep/log»
«stuff/plop» -> «rep/plop»
«stuff/RootMe.tar» -> «rep/RootMe.tar»
«stuff/Root_with_Restore_by_Bin4ry_Linux.7z» -> «rep/Root_with_Restore_by_Bin4ry_Linux.7z»
«stuff/RunMe.sh» -> «rep/RunMe.sh»
«stuff/su» -> «rep/su»
«stuff/Superuser.apk» -> «rep/Superuser.apk»

$ ls -lh *
rep:
total 3,2M
-rwxr-xr-x 1 jp jp 200K juil. 28 20:24 adb
-rw-r--r-- 1 jp jp 1,1M juil. 28 20:24 busybox
-rw-r--r-- 1 jp jp  61K juil. 28 20:24 fakebackup.ab
-rw-r--r-- 1 jp jp    0 juil. 28 20:24 log
-rw-r--r-- 1 jp jp  398 juil. 28 20:24 plop
-rw-r--r-- 1 jp jp  72K juil. 28 20:24 RootMe.tar
-rw-r--r-- 1 jp jp 996K juil. 28 20:24 Root_with_Restore_by_Bin4ry_Linux.7z
-rwxr-xr-x 1 jp jp 3,8K juil. 28 20:24 RunMe.sh
-rw-r--r-- 1 jp jp  22K juil. 28 20:24 su
-rw-r--r-- 1 jp jp 824K juil. 28 20:24 Superuser.apk

stuff:
total 3,2M
-rwxr-xr-x 1 jp jp 200K août  27  2012 adb
-rw-r--r-- 1 jp jp 1,1M août   9  2012 busybox
-rw-r--r-- 1 jp jp  61K août   2  2012 fakebackup.ab
-rw-rw-r-- 1 jp jp    0 juil. 28 16:00 log
-rw-r--r-- 1 jp jp  398 juil. 28 17:48 plop
-rw-r--r-- 1 jp jp  72K sept. 14  2012 RootMe.tar
-rw-r--r-- 1 jp jp 996K juil. 28 13:53 Root_with_Restore_by_Bin4ry_Linux.7z
-rwxr-xr-x 1 jp jp 3,8K sept. 15  2012 RunMe.sh
-rw-r--r-- 1 jp jp  22K févr. 28  2008 su
-rw-r--r-- 1 jp jp 824K févr. 28  2008 Superuser.apk

$ 


Messages postés
283
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
21 décembre 2019
6
Bonjour,

J'ai essayé ta ligne de commande et cela a marché.

Merci beaucoup :-)