Como copiar arquivo para outra máquina através do terminal?

39

Eu tenho o Ubuntu 10.04 rodando através do VMPlayer. E eu tenho outra máquina (roteador Asus RT-N16). Consigo me conectar ao roteador com telnet e ver seu sistema de arquivos. Como posso copiar o arquivo da máquina local (o arquivo é / home / user / helloworld-c ) para o roteador (pasta * / tmp / mnt / discb_1 *)?

LA_
fonte

Respostas:

76

Existe possibilidade de conectar via SSH? Talvez você deva considerar a utilidade "scp". É muito simples, veja a página de manual :

man scp

O uso muito básico:

scp remote_user@remote_host:/path/to/remote/file /path/to/local/file

e vice versa:

scp /path/to/local/file remote_user@remote_host:/path/to/remote/file
Pavel S.
fonte
Obrigado, funciona! Como posso fazer o mesmo com toda a pasta?
LA_
4
Use a opção "-r": scp -r usuário @ host: / caminho / arquivo / caminho / local. Por favor, marque a resposta como aceita, se funcionar.
Pavel S.
Veja a página de manual do scp (no terminal, digite "man scp"). Há muito mais opções.
Pavel S.
Como posso copiar pastas também com arquivos, este comando apenas copiando arquivos somente
amit_game
@LA_ você pode compactar todos os arquivos.
Silvio Delgado
12

Para copiar um diretório não vazio do computador remoto para o seu computador:

scp -r [email protected]:/home/vrc/Desktop/www /home/ourusername/Desktop

Para copiar um arquivo, basta excluir a -ropção:

scp [email protected]:/home/vrc/Desktop/file1 /home/ourusername/Desktop

Para copiar do seu computador para o computador remoto, basta alternar o local e o destino no exemplo anterior. Para mais informações, faça man scp.

errakeshpd
fonte
10

Outra maneira de fazer: (via arquivo pem)

Se você deseja usar o pemarquivo e você é ROOTusuário:

1. usuário root:

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt [email protected]:/you-server-destination-path/

observe os dois pontos :entre o servidor IPe o caminho de destino.

se não consigo fazer login com o rootusuário, consulte a etapa 2.

2. usuário padrão:

suponha que você seja ubuntuusuário com privilégios padrão.

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt [email protected]:/home/ubuntu/

isso colocará o arquivo no diretório inicial. em seguida, efetue login no servidor remoto com o usuário padrão. e fazer

sudo su

você mudará para rootusuário. depois mova o arquivo para o diretório de destino

mv /home/ubuntu/your-local-file.txt /you-server-destination-path/your-local-file.txt

Costumo encontrar esse problema, portanto, compartilhando uma maneira alternativa de fazer o trabalho!

Kaleem Ullah
fonte