Como copio um arquivo com scp com caracteres especiais?

6

Estou tentando copiar um arquivo que tenha dois pontos e pontos, por exemplo:

scp "test.json-2014-08-07T11:17:58.662378" remote:tmp/

scp test.json-2014-08-07T11\:17\:58.662378 remote:tmp/

e combinações com arquivo:

scp "file:///home/.../test.json-2014-08-07T11:17:58.662378" remote:tmp/

Meu palpite é que scp tenta interpretar partes do arquivo como um servidor e / ou número de porta. Como evito isso?

Se eu renomear o arquivo para test.json, então scp test.json remote:tmp/ funciona ok, mas nem mesmo scp test*62378 remote:tmp/ funciona.

    
por Finn Årup Nielsen 07.08.2014 / 11:47

3 respostas

14

Use ./ antes do seu nome de arquivo:

scp ./test.json-2014-08-07T11:17:58.662378 remote:tmp/

Isso faz com que scp saiba que é um arquivo. Sem ele, scp acha que é um nome de host por causa dos dois pontos.

    
por 07.08.2014 / 11:53
3

Use o caminho prefixando ./ e escape do : . A Cyberiti tem mais informações . Exemplo:

scp ./file\:with\:colons.txt remoteserver:
    
por 07.08.2014 / 11:54
0

Aparentemente, não tentei esta versão com prefixo de caminho:

scp /home/.../test.json-2014-08-07T11\:17\:58.662378 remote:tmp/

isso também funciona:

scp ./test.json-2014-08-07T11\:17\:58.662378 remote:tmp/

De link e link Obrigado.

(como os usuários acima conseguiram responder antes de mim)

    
por 07.08.2014 / 11:59

Tags