Copier le contenu d'un répertoire dans un autre sous bash

Résolu/Fermé
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 - 28 juil. 2013 à 20:15
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 - 28 juil. 2013 à 20:48
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

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 412
28 juil. 2013 à 20:29
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

$ 


artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 7
28 juil. 2013 à 20:48
Bonjour,

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

Merci beaucoup :-)
0