Jak kopiować pliki między komputerami przy użyciu terminala SSH i MAC OS X [zamknięte]

205

Próbuję skopiować moje foldery / pliki .profile, .rvm i .ssh na nowy komputer i wciąż otrzymuję odpowiedź „nieregularny plik”. Wiem, jak korzystać z poleceń cpi ssh, ale nie jestem pewien, jak ich używać do przesyłania plików z jednego komputera na drugi.

Jakakolwiek pomoc będzie wspaniała, dzięki!

alvincrespo
źródło
8
mimo że otrzymałeś odpowiedzi, czy nadal mogę polecić superuser.com?
KevinDTimm,

Odpowiedzi:

436

Możesz to zrobić za pomocą scppolecenia, które używa protokołu ssh do kopiowania plików między komputerami. Rozszerza składnię, cpaby umożliwić odwołania do innych systemów:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file

Skopiuj coś z tego komputera na inny komputer:

scp /path/to/local/file username@hostname:/path/to/remote/file

Skopiuj coś z innego komputera na ten komputer:

scp username@hostname:/path/to/remote/file /path/to/local/file

Skopiuj z podanym numerem portu:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file
Eter
źródło
1
Myślę, że użycie przez OP wyrażenia „jak je wykorzystać do przeniesienia” można przepisać jako „jak wykorzystać je do przeniesienia”. Być może to dziwne, ale nie strasznie złe.
High Performance Mark
2
@High: ah rzeczywiście. :) dostaje więcej kawy
Ether
2
Dzięki @Ether, ale niestety wciąż pojawia się odpowiedź „nie zwykły plik” dla katalogów zaczynających się na „.” jak folder .rvm, który próbuję przenieść, jakieś wskazówki?
alvincrespo
1
nie martw się o to. Mam to! Muszę użyć -r (r dla rekurencyjnego), aby wprowadzić całe struktury katalogów. Dzięki wielkie!
alvincrespo
1
Tak, możesz użyć -rdo rekurencyjnego lub po prostu spakować pliki i celować w zip.
Eric Holmes
14

Najpierw skompresuj lub skompresuj gzip foldery:
Użyj następującego polecenia:

zip -r NameYouWantForZipFile.zip foldertozip /

lub

tar -pvczf BackUpDirectory.tar.gz / ścieżka / do / katalogu

do kompresji gzip użyj SCP:

scp nazwa_uż[email protected]: ~ / ścieżka_serwera / public_html ~ / Desktop

Sam
źródło
1

Możesz także spojrzeć na rsync, jeśli robisz dużo plików.

Jeśli zamierzasz wprowadzić wiele zmian i chcesz zachować synchronizację katalogów i plików, możesz użyć systemu kontroli wersji, takiego jak Subversion lub Git. Zobacz http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion

Andy Lester
źródło
1
Dzięki @Andy, używamy SVN tutaj w pracy, ale właśnie dostałem nowy komputer i chciałem nauczyć się robić wszystko za pomocą wiersza poleceń, ponieważ faceci wolą to tutaj. Uczę się też go kochać :)
alvincrespo