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.