Cómo copiar archivos en computadoras usando SSH y MAC OS X Terminal [cerrado]

205

Estoy tratando de copiar mis carpetas / archivos .profile, .rvm y .ssh a una computadora nueva y sigo recibiendo una respuesta de "archivo no regular". Sé cómo usar los comandos cpy ssh, pero no estoy seguro de cómo usarlos para transferir archivos de una computadora a otra.

¡Cualquier ayuda sería genial, gracias!

alvincrespo
fuente
8
aunque haya recibido respuestas, ¿puedo recomendar superuser.com?
KevinDTimm

Respuestas:

436

Puede hacer esto con el scpcomando, que utiliza el protocolo ssh para copiar archivos entre máquinas. Extiende la sintaxis de cppara permitir referencias a otros sistemas:

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

Copie algo de esta máquina a otra máquina:

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

Copie algo de otra máquina a esta máquina:

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

Copia con un número de puerto especificado:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file
Éter
fuente
1
Creo que el uso de OP de la frase 'cómo usarlos para transferir' podría reescribirse como 'cómo usarlos para transferir'. Wordy quizás, pero no terriblemente equivocado.
Alto rendimiento Mark
2
@High: ah, de hecho. :) obtiene más café
Ether
2
Gracias @Ether, pero desafortunadamente, sigo recibiendo una respuesta de "archivo no regular" para directorios que comienzan con '.' como la carpeta .rvm que estoy tratando de transferir, ¿algún consejo?
alvincrespo
1
no te preocupes por eso ¡Lo tengo! Necesito usar -r (r para recursivo) para traer estructuras de directorio completas. ¡Muchas gracias!
alvincrespo
1
Sí, puede usarlo -rde forma recursiva, o simplemente comprimir los archivos y apuntarlos.
Eric Holmes
14

Primero comprima o comprima las carpetas:
use el siguiente comando:

zip -r NameYouWantForZipFile.zip foldertozip /

o

tar -pvczf BackUpDirectory.tar.gz / ruta / al directorio /

para la compresión gzip use SCP:

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

Sam
fuente
1

También es posible que desee ver rsync si está haciendo muchos archivos.

Si va a realizar muchos cambios y desea mantener sus directorios y archivos sincronizados, puede utilizar un sistema de control de versiones como Subversion o Git. Ver http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion

Andy Lester
fuente
1
Gracias @Andy, estamos usando SVN aquí en el trabajo, pero acabo de comprar una nueva computadora y quería aprender a hacer todo a través de la línea de comando, ya que los chicos prefieren eso aquí. Estoy aprendiendo a amarlo también :)
alvincrespo