Come faccio a copiare un file con scp con caratteri speciali?


9

Sto cercando di copiare un file con due punti e punti, ad esempio, con:

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

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

e combinazioni con file:

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

La mia ipotesi è che scp cerchi di interpretare parti del file come un server e / o numero di porta. Come posso evitarlo?

Se rinominare il file in test.json, allora scp test.json remote:tmp/funziona bene, ma non scp test*62378 remote:tmp/funziona nemmeno .


Vorrei solo sottolineare che una "soluzione" ovvia è quella di rinominare il file, copiarlo e rinominarlo sul server remoto.
Finn Årup Nielsen,

Una spiegazione del perché globs ( *), non funziona. Viene eseguito in shell, quindi verrà passato esattamente lo stesso testo (argomento) scp. Devi cambiare il testo (argomento) a cui è passato scp. (vedi la risposta sotto, per cosa cambiare argomento di testo in.)
ctrl-alt-delor

Va notato che :è un carattere di file illegale su OSX, quindi se hai mai bisogno di trasferire questi file c'è qualcosa da tenere a mente.
Daenyth,

In cygwin, se il nome del file inizia con un trattino, puoi aggiungere il prefisso al file con un doppio trattino, ad es.scp -- -1.JvSbrpchxuk.png user@example.com:/tmp
Shane Rowatt

Risposte:


19

Usa ./prima del tuo nome file:

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

Che fanno scpsapere che è un file. Senza di essa, scppensa che sia un nome host a causa dei due punti.


4

Usa il percorso anteponendo ./e sfuggendo ai tuoi :. Cyberiti ha maggiori informazioni . Esempio:

scp ./file\:with\:colons.txt remoteserver:

2
Non è necessario sfuggire al colon.
cuonglm,

La tua fuga :è a livello di shell, non a livello di scp.
ctrl-alt-delor,

Sì, devi scappare. Almeno nella mia conchiglia ho bisogno della fuga.
Finn Årup Nielsen,

@ FinnÅrupNielsen: qual è la tua shell? Non è necessario sfuggire ai due punti, la shell aggiunge una barra rovesciata per te. Puoi rimuoverli e vedere che funziona ancora.
cuonglm,

Mi sbagliavo. scp ./test.json-2014-08-07T11:17:58.662378 remote:tmp/funziona davvero! Scusate.
Finn Årup Nielsen,

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.