コロンとピリオドを含むファイルをコピーしようとしています。たとえば、次のようになります。
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/ありがとうございます。
(上記のユーザーが私よりも先に答えたように)