Come copiare file su computer usando SSH e MAC OS X Terminal [chiuso]


205

Sto cercando di copiare le mie cartelle / file .profile, .rvm e .ssh su un nuovo computer e continuo a ricevere una risposta "non un file normale". So come usare i comandi cpe sshma non sono sicuro di come usarli per trasferire file da un computer a un altro.

Qualsiasi aiuto sarebbe fantastico, grazie!


8
sebbene tu abbia ricevuto risposte, posso ancora raccomandare superuser.com?
KevinDTimm,

Risposte:


436

Puoi farlo con il scpcomando, che usa il protocollo ssh per copiare i file su macchine. Estende la sintassi di cpper consentire riferimenti ad altri sistemi:

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

Copia qualcosa da questa macchina su un'altra macchina:

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

Copia qualcosa da un'altra macchina su questa macchina:

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

Copia con un numero di porta specificato:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file

1
Penso che l'uso di OP della frase "come usarli per trasferire" potrebbe essere riscritto come "come usarli per trasferire". Wordy forse, ma non terribilmente sbagliato.
Mark ad alte prestazioni

2
@Alto: ah davvero. :) prende più caffè
Ether

2
Grazie @Ether, ma purtroppo continuo a ricevere una risposta "non un file normale" per le directory che iniziano con "." come la cartella .rvm che sto provando a trasferire, qualche consiglio?
alvincrespo,

1
non ti preoccupare. Capito! Ho bisogno di usare -r (r per ricorsivo) per portare intere strutture di directory. Grazie mille!
alvincrespo,

1
Sì, puoi usarlo -rper ricorsivo o semplicemente comprimere i file e scegliere come target lo zip.
Eric Holmes,

14

Per prima cosa comprimere o decomprimere le cartelle:
utilizzare il comando seguente:

zip -r NomeYouWantForZipFile.zip foldertozip /

o

tar -pvczf BackUpDirectory.tar.gz / path / to / directory

per la compressione gzip usare SCP:

scp nomeutente@tuoserver.com: ~ / serverpath / public_html ~ / Desktop


1

Puoi anche guardare rsync se stai facendo molti file.

Se hai intenzione di apportare molte modifiche e vuoi mantenere sincronizzate le tue directory e i tuoi file, potresti voler usare un sistema di controllo della versione come Subversion o Git. Vedi http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion


1
Grazie @Andy, stiamo usando SVN qui al lavoro, ma ho appena avuto un nuovo computer e volevo imparare come fare tutto attraverso la riga di comando poiché i ragazzi lo preferiscono qui. Sto imparando anche ad amarlo :)
alvincrespo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.