Comment copier un répertoire d'un disque dur à un autre avec chaque fichier?


17

J'ai un dossier que j'ai récupéré heureusement assis:

/media/sdc1/Pictures

avec un tas de sous-répertoires et de fichiers dont j'ai besoin.

Je veux les copier dans un dossier sur:

/media/sdb1/Pictures

Quelle commande dois-je utiliser dans le terminal pour m'assurer que cela se produit? Je sais qu'il y a la cpcommande. Mais est-ce le meilleur choix? Et si oui, quelles options dois-je utiliser pour m'assurer d'obtenir chaque répertoire et fichier?

Réponses:


21

J'utiliserais rsync pour cela afin que s'il y a une erreur (ou si vous devez arrêter la copie) à mi-chemin, vous pouvez facilement reprendre plus tard, sans avoir à tout recopier.

rsync -av /media/sdc1/Pictures/ /media/sdb1/Pictures/

3
Je supprimerais le *car il omettra les fichiers dot au premier niveau. Cela peut également entraîner un dépassement de la limite ARG_MAX.
— geirha

@geirha bon point. édité.
— amc

12

cp -r /media/sdc1/Pictures/* /media/sdb1/Pictures/some_dir

  • C'est -rrécursif, lisez la page de manuel ...
  • Avec /media/sdc1/Pictures/*l'astérisque est de copier tout le contenu de /media/sdc1/Pictures/, mais pas le répertoire parent lui - même.
  • Le some_dir de /media/sdb1/Pictures/some_direst l'endroit où vous voulez le mettre.

est-ce que cela copiera les fichiers et les fichiers dot?
— farinspace

1

Si vous avez besoin d'une image exacte, utilisez la commande dd if=(path) of=(path)


4
Attention, cette commande peut vous tuer complètement si elle est utilisée incorrectement
— MikeSchem

Vous ne pouvez pas copier des répertoires avec dd!
— mook765
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.