Jak skopiować katalog z jednego dysku twardego na drugi za pomocą każdego pliku?

17

Mam folder, który na szczęście odzyskałem, siedząc:

/media/sdc1/Pictures

z WIĄZKĄ podkatalogów i plików, których potrzebuję.

Chcę je skopiować do folderu na:

/media/sdb1/Pictures

Jakiego polecenia należy użyć w terminalu, aby mieć pewność, że tak się stanie? Wiem, że jest to cppolecenie. Ale czy to najlepszy wybór? A jeśli tak, jakich opcji powinienem użyć, aby uzyskać każdy katalog i plik?

Wardr
źródło

Odpowiedzi:

21

Użyłbym do tego rsync, aby w przypadku wystąpienia błędu (lub musisz przestać kopiować) w połowie możesz łatwo wznowić później, bez konieczności kopiowania wszystkiego.

rsync -av /media/sdc1/Pictures/ /media/sdb1/Pictures/
amc
źródło
3
Chciałbym usunąć, *ponieważ pominie pliki kropkowe na pierwszym poziomie. Może to również spowodować przekroczenie limitu ARG_MAX.
geirha
@geirha dobry punkt. edytowane.
amc
12

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

  • -rJest rekurencyjne, przeczytać stronę man ...
  • Z /media/sdc1/Pictures/*gwiazdką jest, aby skopiować całą zawartość /media/sdc1/Pictures/, ale nie sam katalog nadrzędny.
  • Some_dir /media/sdb1/Pictures/some_dirjest miejscem, w którym chcesz go umieścić.
poważny
źródło
czy skopiuje również pliki dotfir i dotdir?
farinspace
1

Jeśli potrzebujesz dokładnego obrazu, użyj polecenia dd if=(path) of=(path)

RGS
źródło
4
Uwaga: to polecenie może całkowicie zabić komputer, jeśli zostanie użyte niepoprawnie
MikeSchem
Nie możesz kopiować katalogów dd!
mook765,