scpを使用して特殊文字を含むファイルをコピーする方法は?

scpを使用して特殊文字を含むファイルをコピーする方法は?

コロンとピリオドを含むファイルをコピーしようとしています。たとえば、次のようになります。

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

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

そしてファイルと組み合わせて:

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

私の考えでは、scpがファイルの一部をサーバーおよび/またはポート番号として解釈しようとしているようです。これをどのように避けることができますか?

ファイル名をtest.jsonに変更するとscp test.json remote:tmp/正しく機能しますが、機能しませんscp test*62378 remote:tmp/

答え1

./ファイル名の前に使用:

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

これにより、scpこれがファイルであることがわかります。これがなければ、scpコロンのためにホスト名と見なされます。

答え2

./パスを前に追加してエスケープしてパスを使用します:。サイバーティは追加情報。例:

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

答え3

明らかに、私はパスプレフィックスを使ってこのバージョンを試していませんでした。

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

これはまた働きます:

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

~からhttps://twitter.com/h0pbeat/status/497319751031353344そしてhttp://www.cyberciti.biz/faq/rsync-scp-file-name-with-colon-punkation-in-it/ありがとうございます。

(上記のユーザーが私よりも先に答えたように)

関連情報