我正在尝试复制一个包含冒号和句点的文件,例如:
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-punctuation-in-it/谢谢。
(正如上述用户在我之前设法回答的那样)