scp / caminho / para / local / arquivo [email protected] cria um novo arquivo no diretório local?

2

scp estava funcionando bem, mas agora quando eu faço

$ scp /path/to/local/file [email protected]

ele não solicita minha senha, mas não retorna nada imediatamente, e um novo arquivo chamado "[email protected]" é criado no diretório.

Além disso, eu não tenho problema ssh para o servidor, ele pede minha senha e eu poderia logar com sucesso.

$ ssh [email protected]

Eu fiz alguma configuração para configurar o VIM como IDE para C ++ no fim de semana, então eu poderia ter estragado algo? Eu também criei um novo ambiente anaconda para executar o Python3, se essas informações ajudarem.

    
por Zoey 21.09.2016 / 18:32

3 respostas

20

Você precisa informar scp que está copiando para um controle remoto, usando : e (opcionalmente) um caminho no destino:

scp /path/to/local/file [email protected]:/path/to/remote

Se você especificar apenas : , ele usará o caminho padrão, provavelmente o diretório inicial myusername em servername.com :

scp /path/to/local/file [email protected]:

(Agradecimentos a Stephen Harris por apontando que o caminho remoto é opcional.)

    
por 21.09.2016 / 18:33
13

Como scp pode ser usado para copiar arquivos para um servidor ou de um servidor, o programa usa a presença do : para determinar o caminho a seguir mandar. Sem um : , não há nenhum hostname e, portanto, ele supõe que ambos os arquivos são locais.

Então

scp x a@b

tratará os arquivos x e a@b como arquivos locais.

Você não precisa especificar um caminho de destino, mas precisa do :

scp x a@b:

Se não houver nenhum caminho especificado, ele usará o diretório padrão (normalmente o controle remoto $HOME ), como se você tivesse especificado a@b:.

    
por 21.09.2016 / 19:06
2

Por padrão, scp pressupõe que você deseja um arquivo local, a menos que você especifique onde deseja o arquivo no servidor remoto com : .

Por exemplo, scp /path/to/local/file [email protected]:./ fará o que você pretende: criar um arquivo no diretório padrão de myusername on servername.com chamado file com o conteúdo de /path/to/local/file em seu computador.

    
por 21.09.2016 / 18:37

Tags