Como copiar arquivos em computadores usando o SSH e o MAC OS X Terminal [fechado]

205

Estou tentando copiar minhas pastas / arquivos .profile, .rvm e .ssh para um novo computador e continuo recebendo uma resposta "não é um arquivo normal". Eu sei como usar os comandos cpe, sshmas não sei como usá-los para transferir arquivos de um computador para outro.

Qualquer ajuda seria ótima, obrigado!

alvincrespo
fonte
8
embora você tenha recebido respostas, ainda posso recomendar o superuser.com?
KevinDTimm

Respostas:

436

Você pode fazer isso com o scpcomando, que usa o protocolo ssh para copiar arquivos entre máquinas. Ele estende a sintaxe de cppara permitir referências a outros sistemas:

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

Copie algo desta máquina para outra máquina:

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

Copie algo de outra máquina para esta máquina:

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

Copie com um número de porta especificado:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file
Éter
fonte
1
Penso que o uso do OP da frase 'como usá-los para transferir' pode ser reescrito como 'como usá-los para transferir'. Wordy talvez, mas não terrivelmente errado.
High Performance Mark
2
@ Alta: ah, de fato. :) obtém mais café
Éter
2
Obrigado @Ether, mas, infelizmente, continuo recebendo uma resposta "não é um arquivo regular" para diretórios que começam com '.' como a pasta .rvm estou tentando transferir, alguma dica?
Alvincrespo 14/09/10
1
não se preocupe com isso. Deixa comigo! Eu preciso usar -r (r para recursivo) para trazer estruturas de diretório inteiras. Muito obrigado!
Alvincrespo 14/09/10
1
Sim, você pode usar -rpara recursivo ou apenas compactar os arquivos e direcionar o zip.
Eric Holmes
14

Primeiro, zip ou gzip as pastas:
Use o seguinte comando:

zip -r NameYouWantForZipFile.zip foldertozip /

ou

tar -pvczf BackUpDirectory.tar.gz / caminho / para / diretório

para compressão gzip, use SCP:

scp [email protected]: ~ / serverpath / public_html ~ / Desktop

Sam
fonte
1

Você também pode consultar o rsync se estiver criando muitos arquivos.

Se você estiver fazendo muitas alterações e quiser manter seus diretórios e arquivos sincronizados, poderá usar um sistema de controle de versão como o Subversion ou o Git. Consulte http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion

Andy Lester
fonte
1
Obrigado @ Andy, estamos usando o SVN aqui no trabalho, mas eu acabei de adquirir um computador novo e queria aprender como fazer tudo pela linha de comando, já que os caras preferem isso aqui. Estou aprendendo a amá-la como bem :)
alvincrespo