Wie kopiere ich mit jeder einzelnen Datei ein Verzeichnis von einer Festplatte auf eine andere?

16

Ich habe einen Ordner, auf dem ich mich zum Glück wieder erholt habe:

/media/sdc1/Pictures

mit einer Menge von Unterverzeichnissen und Dateien, die ich brauche.

Ich möchte diese in einen Ordner kopieren auf:

/media/sdb1/Pictures

Welchen Befehl muss ich im Terminal verwenden, um sicherzustellen, dass dies geschieht? Ich weiß, da ist der cpBefehl. Aber ist das die beste Wahl? Und wenn ja, welche Optionen sollte ich verwenden, um sicherzustellen, dass ich jedes einzelne Verzeichnis und jede einzelne Datei erhalte?

wardr
quelle

Antworten:

20

Ich würde dafür rsync verwenden, damit Sie bei einem Fehler (oder wenn Sie den Kopiervorgang vorübergehend beenden müssen) später problemlos fortfahren können, ohne alles neu kopieren zu müssen.

rsync -av /media/sdc1/Pictures/ /media/sdb1/Pictures/
amc
quelle
3
Ich würde das entfernen, *da es Dotfiles auf der ersten Ebene weglassen wird. Es kann auch dazu führen, dass das ARG_MAX-Limit überschritten wird.
Geirha
@geirha guter Punkt. bearbeitet.
AMC
12

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

  • Das -rist rekursiv, lies die Manpage ...
  • Mit /media/sdc1/Pictures/*dem Sternchen wird der gesamte Inhalt /media/sdc1/Pictures/, aber nicht das übergeordnete Verzeichnis selbst kopiert .
  • Das some_dir von /media/sdb1/Pictures/some_dirist, wo Sie es setzen möchten.
zurückhaltend
quelle
kopiert dieses auch dotfiles und dotdirs?
Farinspace
1

Wenn Sie ein genaues Bild benötigen, verwenden Sie den Befehl dd if=(path) of=(path)

RGS
quelle
4
Achtung, dieser Befehl kann bei falscher Verwendung
Ihren
Sie können keine Verzeichnisse mit kopieren dd!
mook765